@aztec/foundation 0.74.0 → 0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2

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 (554) hide show
  1. package/dest/abi/abi.js +157 -93
  2. package/dest/abi/buffer.js +9 -9
  3. package/dest/abi/decoder.js +89 -86
  4. package/dest/abi/encoder.js +91 -87
  5. package/dest/abi/event_selector.js +25 -33
  6. package/dest/abi/function_selector.js +28 -33
  7. package/dest/abi/index.js +0 -1
  8. package/dest/abi/note_selector.js +15 -21
  9. package/dest/abi/selector.js +22 -29
  10. package/dest/abi/u128.js +11 -5
  11. package/dest/abi/utils.js +9 -20
  12. package/dest/array/array.js +19 -26
  13. package/dest/array/index.js +0 -1
  14. package/dest/async-map/index.js +2 -4
  15. package/dest/async-pool/index.js +6 -9
  16. package/dest/aztec-address/index.js +14 -19
  17. package/dest/bigint-buffer/index.js +6 -13
  18. package/dest/buffer/buffer32.js +53 -66
  19. package/dest/buffer/index.js +0 -1
  20. package/dest/collection/array.js +47 -59
  21. package/dest/collection/index.js +0 -1
  22. package/dest/collection/object.js +9 -9
  23. package/dest/committable/committable.js +15 -20
  24. package/dest/committable/index.js +0 -1
  25. package/dest/config/env_var.js +1 -2
  26. package/dest/config/index.js +31 -36
  27. package/dest/crypto/index.js +0 -1
  28. package/dest/crypto/keccak/index.js +60 -69
  29. package/dest/crypto/keys/index.js +1 -2
  30. package/dest/crypto/pedersen/index.js +0 -1
  31. package/dest/crypto/pedersen/pedersen.elliptic.js +153 -146
  32. package/dest/crypto/pedersen/pedersen.noble.js +140 -142
  33. package/dest/crypto/pedersen/pedersen.wasm.js +14 -13
  34. package/dest/crypto/poseidon/index.js +10 -14
  35. package/dest/crypto/random/index.js +7 -12
  36. package/dest/crypto/random/randomness_singleton.js +12 -12
  37. package/dest/crypto/secp256k1-signer/index.js +0 -1
  38. package/dest/crypto/secp256k1-signer/secp256k1_signer.js +8 -9
  39. package/dest/crypto/secp256k1-signer/utils.js +11 -16
  40. package/dest/crypto/sha256/index.js +80 -30
  41. package/dest/crypto/sha512/index.js +2 -4
  42. package/dest/crypto/sync/index.js +0 -1
  43. package/dest/crypto/sync/pedersen/index.js +14 -13
  44. package/dest/crypto/sync/poseidon/index.js +10 -14
  45. package/dest/decorators/index.js +0 -1
  46. package/dest/decorators/memoize.js +1 -2
  47. package/dest/error/index.js +6 -19
  48. package/dest/eth-address/index.js +92 -113
  49. package/dest/eth-signature/eth_signature.js +21 -27
  50. package/dest/eth-signature/index.js +0 -1
  51. package/dest/fields/coordinate.js +47 -46
  52. package/dest/fields/fields.js +112 -127
  53. package/dest/fields/index.js +0 -1
  54. package/dest/fields/point.js +119 -129
  55. package/dest/fs/index.js +0 -1
  56. package/dest/fs/run_in_dir.js +6 -6
  57. package/dest/index.js +0 -2
  58. package/dest/iterable/all.js +3 -4
  59. package/dest/iterable/filter.js +10 -11
  60. package/dest/iterable/index.js +0 -1
  61. package/dest/iterable/isAsyncIt.js +1 -3
  62. package/dest/iterable/map.js +10 -11
  63. package/dest/iterable/peek.js +14 -14
  64. package/dest/iterable/sort.js +4 -5
  65. package/dest/iterable/take.js +6 -7
  66. package/dest/iterable/toArray.js +1 -2
  67. package/dest/jest/setup.js +7 -0
  68. package/dest/json-rpc/client/fetch.js +21 -19
  69. package/dest/json-rpc/client/index.js +0 -1
  70. package/dest/json-rpc/client/safe_json_rpc_client.js +16 -8
  71. package/dest/json-rpc/convert.js +10 -20
  72. package/dest/json-rpc/fixtures/class_a.js +8 -5
  73. package/dest/json-rpc/fixtures/class_b.js +8 -5
  74. package/dest/json-rpc/fixtures/test_state.js +53 -40
  75. package/dest/json-rpc/index.js +0 -1
  76. package/dest/json-rpc/js_utils.js +2 -5
  77. package/dest/json-rpc/server/index.js +0 -1
  78. package/dest/json-rpc/server/safe_json_rpc_server.js +145 -101
  79. package/dest/json-rpc/server/telemetry.js +0 -2
  80. package/dest/json-rpc/test/index.js +0 -1
  81. package/dest/json-rpc/test/integration.js +8 -3
  82. package/dest/log/console.js +14 -16
  83. package/dest/log/debug.js +9 -18
  84. package/dest/log/gcloud-logger-config.js +17 -15
  85. package/dest/log/index.js +0 -1
  86. package/dest/log/log-filters.js +13 -11
  87. package/dest/log/log-levels.js +10 -2
  88. package/dest/log/log_fn.js +1 -2
  89. package/dest/log/log_history.js +21 -25
  90. package/dest/log/pino-logger.js +82 -64
  91. package/dest/message/index.js +7 -3
  92. package/dest/mutex/index.js +34 -32
  93. package/dest/mutex/mutex_database.js +4 -2
  94. package/dest/noir/index.js +0 -1
  95. package/dest/noir/noir_package_config.js +13 -8
  96. package/dest/promise/index.js +0 -1
  97. package/dest/promise/running-promise.js +28 -28
  98. package/dest/promise/utils.js +3 -5
  99. package/dest/queue/base_memory_queue.js +51 -59
  100. package/dest/queue/bounded_serial_queue.js +41 -51
  101. package/dest/queue/fifo_memory_queue.js +4 -8
  102. package/dest/queue/index.js +0 -1
  103. package/dest/queue/priority_memory_queue.js +3 -4
  104. package/dest/queue/priority_queue.js +5 -5
  105. package/dest/queue/semaphore.js +15 -19
  106. package/dest/queue/serial_queue.js +37 -47
  107. package/dest/retry/index.js +21 -18
  108. package/dest/running-promise/index.js +0 -1
  109. package/dest/schemas/api.js +2 -7
  110. package/dest/schemas/index.js +0 -1
  111. package/dest/schemas/parse.js +4 -8
  112. package/dest/schemas/schemas.js +33 -48
  113. package/dest/schemas/types.js +1 -2
  114. package/dest/schemas/utils.js +18 -31
  115. package/dest/serialize/buffer_reader.js +164 -188
  116. package/dest/serialize/field_reader.js +70 -79
  117. package/dest/serialize/free_funcs.js +40 -37
  118. package/dest/serialize/index.js +0 -1
  119. package/dest/serialize/serialize.js +72 -83
  120. package/dest/serialize/type_registry.js +10 -14
  121. package/dest/serialize/types.js +4 -5
  122. package/dest/sleep/index.js +25 -29
  123. package/dest/string/index.js +0 -1
  124. package/dest/testing/files/index.js +5 -8
  125. package/dest/testing/index.js +0 -1
  126. package/dest/testing/port_allocator.js +7 -10
  127. package/dest/testing/snapshot_serializer.js +14 -9
  128. package/dest/testing/test_data.js +7 -8
  129. package/dest/timer/date.js +9 -7
  130. package/dest/timer/elapsed.js +10 -7
  131. package/dest/timer/index.js +0 -1
  132. package/dest/timer/timeout.js +34 -34
  133. package/dest/timer/timer.js +17 -21
  134. package/dest/transport/browser/index.js +0 -1
  135. package/dest/transport/browser/message_port_socket.js +26 -30
  136. package/dest/transport/browser/shared_worker_connector.js +8 -10
  137. package/dest/transport/browser/shared_worker_listener.js +13 -17
  138. package/dest/transport/browser/worker_connector.js +12 -12
  139. package/dest/transport/browser/worker_listener.js +13 -17
  140. package/dest/transport/dispatch/create_dispatch_fn.js +2 -4
  141. package/dest/transport/dispatch/create_dispatch_proxy.js +16 -13
  142. package/dest/transport/dispatch/messages.js +4 -3
  143. package/dest/transport/index.js +0 -1
  144. package/dest/transport/interface/connector.js +3 -2
  145. package/dest/transport/interface/listener.js +4 -2
  146. package/dest/transport/interface/socket.js +7 -2
  147. package/dest/transport/interface/transferable.js +7 -9
  148. package/dest/transport/node/index.js +0 -1
  149. package/dest/transport/node/node_connector.js +9 -11
  150. package/dest/transport/node/node_connector_socket.js +21 -25
  151. package/dest/transport/node/node_listener.js +11 -15
  152. package/dest/transport/node/node_listener_socket.js +23 -27
  153. package/dest/transport/transport_client.js +47 -46
  154. package/dest/transport/transport_server.js +68 -55
  155. package/dest/trees/index.js +0 -1
  156. package/dest/trees/unbalanced_merkle_tree.js +26 -16
  157. package/dest/trees/unbalanced_tree_store.js +43 -29
  158. package/dest/types/index.js +1 -3
  159. package/dest/url/index.js +4 -8
  160. package/dest/validation/index.js +2 -5
  161. package/dest/wasm/empty_wasi_sdk.js +142 -160
  162. package/dest/wasm/index.js +0 -1
  163. package/dest/wasm/wasm_module.js +80 -90
  164. package/dest/worker/browser/index.js +0 -1
  165. package/dest/worker/browser/start_web_module.js +9 -5
  166. package/dest/worker/browser/web_data_store.js +12 -15
  167. package/dest/worker/browser/web_worker.js +6 -5
  168. package/dest/worker/data_store.js +3 -2
  169. package/dest/worker/index.js +0 -1
  170. package/dest/worker/node/index.js +0 -1
  171. package/dest/worker/node/node_data_store.js +4 -5
  172. package/dest/worker/node/node_worker.js +6 -5
  173. package/dest/worker/node/start_node_module.js +9 -5
  174. package/dest/worker/wasm_worker.js +3 -2
  175. package/dest/worker/worker_pool.js +32 -43
  176. package/package.json +3 -4
  177. package/src/fields/fields.ts +2 -2
  178. package/src/index.ts +0 -1
  179. package/src/queue/serial_queue.ts +1 -1
  180. package/src/testing/files/index.ts +2 -1
  181. package/src/wasm/index.ts +1 -1
  182. package/src/worker/index.ts +1 -1
  183. package/dest/abi/abi.d.ts +0 -853
  184. package/dest/abi/abi.d.ts.map +0 -1
  185. package/dest/abi/buffer.d.ts +0 -18
  186. package/dest/abi/buffer.d.ts.map +0 -1
  187. package/dest/abi/decoder.d.ts +0 -58
  188. package/dest/abi/decoder.d.ts.map +0 -1
  189. package/dest/abi/encoder.d.ts +0 -16
  190. package/dest/abi/encoder.d.ts.map +0 -1
  191. package/dest/abi/event_selector.d.ts +0 -52
  192. package/dest/abi/event_selector.d.ts.map +0 -1
  193. package/dest/abi/function_selector.d.ts +0 -65
  194. package/dest/abi/function_selector.d.ts.map +0 -1
  195. package/dest/abi/index.d.ts +0 -10
  196. package/dest/abi/index.d.ts.map +0 -1
  197. package/dest/abi/note_selector.d.ts +0 -42
  198. package/dest/abi/note_selector.d.ts.map +0 -1
  199. package/dest/abi/selector.d.ts +0 -42
  200. package/dest/abi/selector.d.ts.map +0 -1
  201. package/dest/abi/u128.d.ts +0 -13
  202. package/dest/abi/u128.d.ts.map +0 -1
  203. package/dest/abi/utils.d.ts +0 -44
  204. package/dest/abi/utils.d.ts.map +0 -1
  205. package/dest/array/array.d.ts +0 -71
  206. package/dest/array/array.d.ts.map +0 -1
  207. package/dest/array/index.d.ts +0 -2
  208. package/dest/array/index.d.ts.map +0 -1
  209. package/dest/async-map/index.d.ts +0 -13
  210. package/dest/async-map/index.d.ts.map +0 -1
  211. package/dest/async-pool/index.d.ts +0 -3
  212. package/dest/async-pool/index.d.ts.map +0 -1
  213. package/dest/aztec-address/index.d.ts +0 -57
  214. package/dest/aztec-address/index.d.ts.map +0 -1
  215. package/dest/bigint-buffer/index.d.ts +0 -42
  216. package/dest/bigint-buffer/index.d.ts.map +0 -1
  217. package/dest/blob/blob.d.ts +0 -154
  218. package/dest/blob/blob.d.ts.map +0 -1
  219. package/dest/blob/blob.js +0 -264
  220. package/dest/blob/encoding.d.ts +0 -53
  221. package/dest/blob/encoding.d.ts.map +0 -1
  222. package/dest/blob/encoding.js +0 -87
  223. package/dest/blob/errors.d.ts +0 -4
  224. package/dest/blob/errors.d.ts.map +0 -1
  225. package/dest/blob/errors.js +0 -7
  226. package/dest/blob/index.d.ts +0 -6
  227. package/dest/blob/index.d.ts.map +0 -1
  228. package/dest/blob/index.js +0 -22
  229. package/dest/blob/interface.d.ts +0 -10
  230. package/dest/blob/interface.d.ts.map +0 -1
  231. package/dest/blob/interface.js +0 -2
  232. package/dest/blob/mocks.d.ts +0 -20
  233. package/dest/blob/mocks.d.ts.map +0 -1
  234. package/dest/blob/mocks.js +0 -42
  235. package/dest/buffer/buffer32.d.ts +0 -91
  236. package/dest/buffer/buffer32.d.ts.map +0 -1
  237. package/dest/buffer/index.d.ts +0 -2
  238. package/dest/buffer/index.d.ts.map +0 -1
  239. package/dest/collection/array.d.ts +0 -101
  240. package/dest/collection/array.d.ts.map +0 -1
  241. package/dest/collection/index.d.ts +0 -3
  242. package/dest/collection/index.d.ts.map +0 -1
  243. package/dest/collection/object.d.ts +0 -14
  244. package/dest/collection/object.d.ts.map +0 -1
  245. package/dest/committable/committable.d.ts +0 -28
  246. package/dest/committable/committable.d.ts.map +0 -1
  247. package/dest/committable/index.d.ts +0 -2
  248. package/dest/committable/index.d.ts.map +0 -1
  249. package/dest/config/env_var.d.ts +0 -2
  250. package/dest/config/env_var.d.ts.map +0 -1
  251. package/dest/config/index.d.ts +0 -66
  252. package/dest/config/index.d.ts.map +0 -1
  253. package/dest/crypto/index.d.ts +0 -9
  254. package/dest/crypto/index.d.ts.map +0 -1
  255. package/dest/crypto/keccak/index.d.ts +0 -28
  256. package/dest/crypto/keccak/index.d.ts.map +0 -1
  257. package/dest/crypto/keys/index.d.ts +0 -5
  258. package/dest/crypto/keys/index.d.ts.map +0 -1
  259. package/dest/crypto/pedersen/index.d.ts +0 -2
  260. package/dest/crypto/pedersen/index.d.ts.map +0 -1
  261. package/dest/crypto/pedersen/pedersen.elliptic.d.ts +0 -13
  262. package/dest/crypto/pedersen/pedersen.elliptic.d.ts.map +0 -1
  263. package/dest/crypto/pedersen/pedersen.noble.d.ts +0 -11
  264. package/dest/crypto/pedersen/pedersen.noble.d.ts.map +0 -1
  265. package/dest/crypto/pedersen/pedersen.wasm.d.ts +0 -21
  266. package/dest/crypto/pedersen/pedersen.wasm.d.ts.map +0 -1
  267. package/dest/crypto/poseidon/index.d.ts +0 -26
  268. package/dest/crypto/poseidon/index.d.ts.map +0 -1
  269. package/dest/crypto/random/index.d.ts +0 -25
  270. package/dest/crypto/random/index.d.ts.map +0 -1
  271. package/dest/crypto/random/randomness_singleton.d.ts +0 -25
  272. package/dest/crypto/random/randomness_singleton.d.ts.map +0 -1
  273. package/dest/crypto/secp256k1-signer/index.d.ts +0 -3
  274. package/dest/crypto/secp256k1-signer/index.d.ts.map +0 -1
  275. package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts +0 -24
  276. package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts.map +0 -1
  277. package/dest/crypto/secp256k1-signer/utils.d.ts +0 -40
  278. package/dest/crypto/secp256k1-signer/utils.d.ts.map +0 -1
  279. package/dest/crypto/sha256/index.d.ts +0 -20
  280. package/dest/crypto/sha256/index.d.ts.map +0 -1
  281. package/dest/crypto/sha512/index.d.ts +0 -11
  282. package/dest/crypto/sha512/index.d.ts.map +0 -1
  283. package/dest/crypto/sync/index.d.ts +0 -3
  284. package/dest/crypto/sync/index.d.ts.map +0 -1
  285. package/dest/crypto/sync/pedersen/index.d.ts +0 -21
  286. package/dest/crypto/sync/pedersen/index.d.ts.map +0 -1
  287. package/dest/crypto/sync/poseidon/index.d.ts +0 -26
  288. package/dest/crypto/sync/poseidon/index.d.ts.map +0 -1
  289. package/dest/decorators/index.d.ts +0 -2
  290. package/dest/decorators/index.d.ts.map +0 -1
  291. package/dest/decorators/memoize.d.ts +0 -2
  292. package/dest/decorators/memoize.d.ts.map +0 -1
  293. package/dest/error/index.d.ts +0 -21
  294. package/dest/error/index.d.ts.map +0 -1
  295. package/dest/eth-address/index.d.ts +0 -134
  296. package/dest/eth-address/index.d.ts.map +0 -1
  297. package/dest/eth-signature/eth_signature.d.ts +0 -62
  298. package/dest/eth-signature/eth_signature.d.ts.map +0 -1
  299. package/dest/eth-signature/index.d.ts +0 -2
  300. package/dest/eth-signature/index.d.ts.map +0 -1
  301. package/dest/fields/coordinate.d.ts +0 -68
  302. package/dest/fields/coordinate.d.ts.map +0 -1
  303. package/dest/fields/fields.d.ts +0 -176
  304. package/dest/fields/fields.d.ts.map +0 -1
  305. package/dest/fields/index.d.ts +0 -4
  306. package/dest/fields/index.d.ts.map +0 -1
  307. package/dest/fields/point.d.ts +0 -175
  308. package/dest/fields/point.d.ts.map +0 -1
  309. package/dest/fs/index.d.ts +0 -2
  310. package/dest/fs/index.d.ts.map +0 -1
  311. package/dest/fs/run_in_dir.d.ts +0 -2
  312. package/dest/fs/run_in_dir.d.ts.map +0 -1
  313. package/dest/index.d.ts +0 -34
  314. package/dest/index.d.ts.map +0 -1
  315. package/dest/iterable/all.d.ts +0 -9
  316. package/dest/iterable/all.d.ts.map +0 -1
  317. package/dest/iterable/filter.d.ts +0 -10
  318. package/dest/iterable/filter.d.ts.map +0 -1
  319. package/dest/iterable/index.d.ts +0 -8
  320. package/dest/iterable/index.d.ts.map +0 -1
  321. package/dest/iterable/isAsyncIt.d.ts +0 -7
  322. package/dest/iterable/isAsyncIt.d.ts.map +0 -1
  323. package/dest/iterable/map.d.ts +0 -12
  324. package/dest/iterable/map.d.ts.map +0 -1
  325. package/dest/iterable/peek.d.ts +0 -19
  326. package/dest/iterable/peek.d.ts.map +0 -1
  327. package/dest/iterable/sort.d.ts +0 -14
  328. package/dest/iterable/sort.d.ts.map +0 -1
  329. package/dest/iterable/take.d.ts +0 -10
  330. package/dest/iterable/take.d.ts.map +0 -1
  331. package/dest/iterable/toArray.d.ts +0 -2
  332. package/dest/iterable/toArray.d.ts.map +0 -1
  333. package/dest/json-rpc/client/fetch.d.ts +0 -21
  334. package/dest/json-rpc/client/fetch.d.ts.map +0 -1
  335. package/dest/json-rpc/client/index.d.ts +0 -3
  336. package/dest/json-rpc/client/index.d.ts.map +0 -1
  337. package/dest/json-rpc/client/safe_json_rpc_client.d.ts +0 -13
  338. package/dest/json-rpc/client/safe_json_rpc_client.d.ts.map +0 -1
  339. package/dest/json-rpc/convert.d.ts +0 -20
  340. package/dest/json-rpc/convert.d.ts.map +0 -1
  341. package/dest/json-rpc/fixtures/class_a.d.ts +0 -11
  342. package/dest/json-rpc/fixtures/class_a.d.ts.map +0 -1
  343. package/dest/json-rpc/fixtures/class_b.d.ts +0 -11
  344. package/dest/json-rpc/fixtures/class_b.d.ts.map +0 -1
  345. package/dest/json-rpc/fixtures/test_state.d.ts +0 -89
  346. package/dest/json-rpc/fixtures/test_state.d.ts.map +0 -1
  347. package/dest/json-rpc/index.d.ts +0 -2
  348. package/dest/json-rpc/index.d.ts.map +0 -1
  349. package/dest/json-rpc/js_utils.d.ts +0 -13
  350. package/dest/json-rpc/js_utils.d.ts.map +0 -1
  351. package/dest/json-rpc/server/index.d.ts +0 -2
  352. package/dest/json-rpc/server/index.d.ts.map +0 -1
  353. package/dest/json-rpc/server/safe_json_rpc_server.d.ts +0 -140
  354. package/dest/json-rpc/server/safe_json_rpc_server.d.ts.map +0 -1
  355. package/dest/json-rpc/server/telemetry.d.ts +0 -2
  356. package/dest/json-rpc/server/telemetry.d.ts.map +0 -1
  357. package/dest/json-rpc/test/index.d.ts +0 -2
  358. package/dest/json-rpc/test/index.d.ts.map +0 -1
  359. package/dest/json-rpc/test/integration.d.ts +0 -13
  360. package/dest/json-rpc/test/integration.d.ts.map +0 -1
  361. package/dest/log/console.d.ts +0 -11
  362. package/dest/log/console.d.ts.map +0 -1
  363. package/dest/log/debug.d.ts +0 -56
  364. package/dest/log/debug.d.ts.map +0 -1
  365. package/dest/log/gcloud-logger-config.d.ts +0 -14
  366. package/dest/log/gcloud-logger-config.d.ts.map +0 -1
  367. package/dest/log/index.d.ts +0 -6
  368. package/dest/log/index.d.ts.map +0 -1
  369. package/dest/log/log-filters.d.ts +0 -7
  370. package/dest/log/log-filters.d.ts.map +0 -1
  371. package/dest/log/log-levels.d.ts +0 -3
  372. package/dest/log/log-levels.d.ts.map +0 -1
  373. package/dest/log/log_fn.d.ts +0 -7
  374. package/dest/log/log_fn.d.ts.map +0 -1
  375. package/dest/log/log_history.d.ts +0 -31
  376. package/dest/log/log_history.d.ts.map +0 -1
  377. package/dest/log/pino-logger.d.ts +0 -53
  378. package/dest/log/pino-logger.d.ts.map +0 -1
  379. package/dest/message/index.d.ts +0 -32
  380. package/dest/message/index.d.ts.map +0 -1
  381. package/dest/mutex/index.d.ts +0 -53
  382. package/dest/mutex/index.d.ts.map +0 -1
  383. package/dest/mutex/mutex_database.d.ts +0 -10
  384. package/dest/mutex/mutex_database.d.ts.map +0 -1
  385. package/dest/noir/index.d.ts +0 -2
  386. package/dest/noir/index.d.ts.map +0 -1
  387. package/dest/noir/noir_package_config.d.ts +0 -129
  388. package/dest/noir/noir_package_config.d.ts.map +0 -1
  389. package/dest/promise/index.d.ts +0 -3
  390. package/dest/promise/index.d.ts.map +0 -1
  391. package/dest/promise/running-promise.d.ts +0 -41
  392. package/dest/promise/running-promise.d.ts.map +0 -1
  393. package/dest/promise/utils.d.ts +0 -12
  394. package/dest/promise/utils.d.ts.map +0 -1
  395. package/dest/queue/base_memory_queue.d.ts +0 -65
  396. package/dest/queue/base_memory_queue.d.ts.map +0 -1
  397. package/dest/queue/bounded_serial_queue.d.ts +0 -56
  398. package/dest/queue/bounded_serial_queue.d.ts.map +0 -1
  399. package/dest/queue/fifo_memory_queue.d.ts +0 -21
  400. package/dest/queue/fifo_memory_queue.d.ts.map +0 -1
  401. package/dest/queue/index.d.ts +0 -6
  402. package/dest/queue/index.d.ts.map +0 -1
  403. package/dest/queue/priority_memory_queue.d.ts +0 -13
  404. package/dest/queue/priority_memory_queue.d.ts.map +0 -1
  405. package/dest/queue/priority_queue.d.ts +0 -14
  406. package/dest/queue/priority_queue.d.ts.map +0 -1
  407. package/dest/queue/semaphore.d.ts +0 -23
  408. package/dest/queue/semaphore.d.ts.map +0 -1
  409. package/dest/queue/serial_queue.d.ts +0 -49
  410. package/dest/queue/serial_queue.d.ts.map +0 -1
  411. package/dest/retry/index.d.ts +0 -44
  412. package/dest/retry/index.d.ts.map +0 -1
  413. package/dest/running-promise/index.d.ts +0 -2
  414. package/dest/running-promise/index.d.ts.map +0 -1
  415. package/dest/schemas/api.d.ts +0 -21
  416. package/dest/schemas/api.d.ts.map +0 -1
  417. package/dest/schemas/index.d.ts +0 -6
  418. package/dest/schemas/index.d.ts.map +0 -1
  419. package/dest/schemas/parse.d.ts +0 -9
  420. package/dest/schemas/parse.d.ts.map +0 -1
  421. package/dest/schemas/schemas.d.ts +0 -60
  422. package/dest/schemas/schemas.d.ts.map +0 -1
  423. package/dest/schemas/types.d.ts +0 -3
  424. package/dest/schemas/types.d.ts.map +0 -1
  425. package/dest/schemas/utils.d.ts +0 -53
  426. package/dest/schemas/utils.d.ts.map +0 -1
  427. package/dest/serialize/buffer_reader.d.ts +0 -239
  428. package/dest/serialize/buffer_reader.d.ts.map +0 -1
  429. package/dest/serialize/field_reader.d.ts +0 -112
  430. package/dest/serialize/field_reader.d.ts.map +0 -1
  431. package/dest/serialize/free_funcs.d.ts +0 -105
  432. package/dest/serialize/free_funcs.d.ts.map +0 -1
  433. package/dest/serialize/index.d.ts +0 -7
  434. package/dest/serialize/index.d.ts.map +0 -1
  435. package/dest/serialize/serialize.d.ts +0 -182
  436. package/dest/serialize/serialize.d.ts.map +0 -1
  437. package/dest/serialize/type_registry.d.ts +0 -23
  438. package/dest/serialize/type_registry.d.ts.map +0 -1
  439. package/dest/serialize/types.d.ts +0 -33
  440. package/dest/serialize/types.d.ts.map +0 -1
  441. package/dest/sleep/index.d.ts +0 -51
  442. package/dest/sleep/index.d.ts.map +0 -1
  443. package/dest/string/index.d.ts +0 -11
  444. package/dest/string/index.d.ts.map +0 -1
  445. package/dest/testing/files/index.d.ts +0 -19
  446. package/dest/testing/files/index.d.ts.map +0 -1
  447. package/dest/testing/index.d.ts +0 -4
  448. package/dest/testing/index.d.ts.map +0 -1
  449. package/dest/testing/port_allocator.d.ts +0 -10
  450. package/dest/testing/port_allocator.d.ts.map +0 -1
  451. package/dest/testing/snapshot_serializer.d.ts +0 -5
  452. package/dest/testing/snapshot_serializer.d.ts.map +0 -1
  453. package/dest/testing/test_data.d.ts +0 -7
  454. package/dest/testing/test_data.d.ts.map +0 -1
  455. package/dest/timer/date.d.ts +0 -13
  456. package/dest/timer/date.d.ts.map +0 -1
  457. package/dest/timer/elapsed.d.ts +0 -13
  458. package/dest/timer/elapsed.d.ts.map +0 -1
  459. package/dest/timer/index.d.ts +0 -5
  460. package/dest/timer/index.d.ts.map +0 -1
  461. package/dest/timer/timeout.d.ts +0 -41
  462. package/dest/timer/timeout.d.ts.map +0 -1
  463. package/dest/timer/timer.d.ts +0 -37
  464. package/dest/timer/timer.d.ts.map +0 -1
  465. package/dest/transport/browser/index.d.ts +0 -5
  466. package/dest/transport/browser/index.d.ts.map +0 -1
  467. package/dest/transport/browser/message_port_socket.d.ts +0 -37
  468. package/dest/transport/browser/message_port_socket.d.ts.map +0 -1
  469. package/dest/transport/browser/shared_worker_connector.d.ts +0 -19
  470. package/dest/transport/browser/shared_worker_connector.d.ts.map +0 -1
  471. package/dest/transport/browser/shared_worker_listener.d.ts +0 -38
  472. package/dest/transport/browser/shared_worker_listener.d.ts.map +0 -1
  473. package/dest/transport/browser/worker_connector.d.ts +0 -26
  474. package/dest/transport/browser/worker_connector.d.ts.map +0 -1
  475. package/dest/transport/browser/worker_listener.d.ts +0 -39
  476. package/dest/transport/browser/worker_listener.d.ts.map +0 -1
  477. package/dest/transport/dispatch/create_dispatch_fn.d.ts +0 -25
  478. package/dest/transport/dispatch/create_dispatch_fn.d.ts.map +0 -1
  479. package/dest/transport/dispatch/create_dispatch_proxy.d.ts +0 -102
  480. package/dest/transport/dispatch/create_dispatch_proxy.d.ts.map +0 -1
  481. package/dest/transport/dispatch/messages.d.ts +0 -52
  482. package/dest/transport/dispatch/messages.d.ts.map +0 -1
  483. package/dest/transport/index.d.ts +0 -12
  484. package/dest/transport/index.d.ts.map +0 -1
  485. package/dest/transport/interface/connector.d.ts +0 -8
  486. package/dest/transport/interface/connector.d.ts.map +0 -1
  487. package/dest/transport/interface/listener.d.ts +0 -13
  488. package/dest/transport/interface/listener.d.ts.map +0 -1
  489. package/dest/transport/interface/socket.d.ts +0 -13
  490. package/dest/transport/interface/socket.d.ts.map +0 -1
  491. package/dest/transport/interface/transferable.d.ts +0 -68
  492. package/dest/transport/interface/transferable.d.ts.map +0 -1
  493. package/dest/transport/node/index.d.ts +0 -3
  494. package/dest/transport/node/index.d.ts.map +0 -1
  495. package/dest/transport/node/node_connector.d.ts +0 -28
  496. package/dest/transport/node/node_connector.d.ts.map +0 -1
  497. package/dest/transport/node/node_connector_socket.d.ts +0 -42
  498. package/dest/transport/node/node_connector_socket.d.ts.map +0 -1
  499. package/dest/transport/node/node_listener.d.ts +0 -26
  500. package/dest/transport/node/node_listener.d.ts.map +0 -1
  501. package/dest/transport/node/node_listener_socket.d.ts +0 -37
  502. package/dest/transport/node/node_listener_socket.d.ts.map +0 -1
  503. package/dest/transport/transport_client.d.ts +0 -61
  504. package/dest/transport/transport_client.d.ts.map +0 -1
  505. package/dest/transport/transport_server.d.ts +0 -56
  506. package/dest/transport/transport_server.d.ts.map +0 -1
  507. package/dest/trees/index.d.ts +0 -59
  508. package/dest/trees/index.d.ts.map +0 -1
  509. package/dest/trees/unbalanced_merkle_tree.d.ts +0 -17
  510. package/dest/trees/unbalanced_merkle_tree.d.ts.map +0 -1
  511. package/dest/trees/unbalanced_tree_store.d.ts +0 -19
  512. package/dest/trees/unbalanced_tree_store.d.ts.map +0 -1
  513. package/dest/types/index.d.ts +0 -19
  514. package/dest/types/index.d.ts.map +0 -1
  515. package/dest/url/index.d.ts +0 -9
  516. package/dest/url/index.d.ts.map +0 -1
  517. package/dest/validation/index.d.ts +0 -9
  518. package/dest/validation/index.d.ts.map +0 -1
  519. package/dest/wasm/empty_wasi_sdk.d.ts +0 -130
  520. package/dest/wasm/empty_wasi_sdk.d.ts.map +0 -1
  521. package/dest/wasm/index.d.ts +0 -2
  522. package/dest/wasm/index.d.ts.map +0 -1
  523. package/dest/wasm/wasm_module.d.ts +0 -136
  524. package/dest/wasm/wasm_module.d.ts.map +0 -1
  525. package/dest/worker/browser/index.d.ts +0 -3
  526. package/dest/worker/browser/index.d.ts.map +0 -1
  527. package/dest/worker/browser/start_web_module.d.ts +0 -7
  528. package/dest/worker/browser/start_web_module.d.ts.map +0 -1
  529. package/dest/worker/browser/web_data_store.d.ts +0 -24
  530. package/dest/worker/browser/web_data_store.d.ts.map +0 -1
  531. package/dest/worker/browser/web_worker.d.ts +0 -10
  532. package/dest/worker/browser/web_worker.d.ts.map +0 -1
  533. package/dest/worker/data_store.d.ts +0 -21
  534. package/dest/worker/data_store.d.ts.map +0 -1
  535. package/dest/worker/index.d.ts +0 -3
  536. package/dest/worker/index.d.ts.map +0 -1
  537. package/dest/worker/node/index.d.ts +0 -3
  538. package/dest/worker/node/index.d.ts.map +0 -1
  539. package/dest/worker/node/node_data_store.d.ts +0 -13
  540. package/dest/worker/node/node_data_store.d.ts.map +0 -1
  541. package/dest/worker/node/node_worker.d.ts +0 -6
  542. package/dest/worker/node/node_worker.d.ts.map +0 -1
  543. package/dest/worker/node/start_node_module.d.ts +0 -7
  544. package/dest/worker/node/start_node_module.d.ts.map +0 -1
  545. package/dest/worker/wasm_worker.d.ts +0 -9
  546. package/dest/worker/wasm_worker.d.ts.map +0 -1
  547. package/dest/worker/worker_pool.d.ts +0 -40
  548. package/dest/worker/worker_pool.d.ts.map +0 -1
  549. package/src/blob/blob.ts +0 -311
  550. package/src/blob/encoding.ts +0 -98
  551. package/src/blob/errors.ts +0 -6
  552. package/src/blob/index.ts +0 -22
  553. package/src/blob/interface.ts +0 -11
  554. package/src/blob/mocks.ts +0 -48
@@ -4,37 +4,38 @@ import { serializeToFields } from '../../serialize/serialize.js';
4
4
  /**
5
5
  * Create a pedersen commitment (point) from an array of input fields.
6
6
  * Left pads any inputs less than 32 bytes.
7
- */
8
- export async function pedersenCommit(input, offset = 0) {
9
- if (!input.every(i => i.length <= 32)) {
7
+ */ export async function pedersenCommit(input, offset = 0) {
8
+ if (!input.every((i)=>i.length <= 32)) {
10
9
  throw new Error('All Pedersen Commit input buffers must be <= 32 bytes.');
11
10
  }
12
- input = input.map(i => (i.length < 32 ? Buffer.concat([Buffer.alloc(32 - i.length, 0), i]) : i));
11
+ input = input.map((i)=>i.length < 32 ? Buffer.concat([
12
+ Buffer.alloc(32 - i.length, 0),
13
+ i
14
+ ]) : i);
13
15
  const api = await BarretenbergSync.initSingleton();
14
- const point = api.pedersenCommit(input.map(i => new FrBarretenberg(i)), offset);
16
+ const point = api.pedersenCommit(input.map((i)=>new FrBarretenberg(i)), offset);
15
17
  // toBuffer returns Uint8Arrays (browser/worker-boundary friendly).
16
18
  // TODO: rename toTypedArray()?
17
- return [Buffer.from(point.x.toBuffer()), Buffer.from(point.y.toBuffer())];
19
+ return [
20
+ Buffer.from(point.x.toBuffer()),
21
+ Buffer.from(point.y.toBuffer())
22
+ ];
18
23
  }
19
24
  /**
20
25
  * Create a pedersen hash (field) from an array of input fields.
21
26
  * @param input - The input fieldables to hash.
22
27
  * @param index - The separator index to use for the hash.
23
28
  * @returns The pedersen hash.
24
- */
25
- export async function pedersenHash(input, index = 0) {
29
+ */ export async function pedersenHash(input, index = 0) {
26
30
  const inputFields = serializeToFields(input);
27
31
  const api = await BarretenbergSync.initSingleton();
28
- const hash = api.pedersenHash(inputFields.map(i => new FrBarretenberg(i.toBuffer())), // TODO(#4189): remove this stupid conversion
29
- index);
32
+ const hash = api.pedersenHash(inputFields.map((i)=>new FrBarretenberg(i.toBuffer())), index);
30
33
  return Fr.fromBuffer(Buffer.from(hash.toBuffer()));
31
34
  }
32
35
  /**
33
36
  * Create a pedersen hash from an arbitrary length buffer.
34
- */
35
- export async function pedersenHashBuffer(input, index = 0) {
37
+ */ export async function pedersenHashBuffer(input, index = 0) {
36
38
  const api = await BarretenbergSync.initSingleton();
37
39
  const result = api.pedersenHashBuffer(input, index);
38
40
  return Buffer.from(result.toBuffer());
39
41
  }
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVkZXJzZW4ud2FzbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vcGVkZXJzZW4vcGVkZXJzZW4ud2FzbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxJQUFJLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV0RSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUMsT0FBTyxFQUFrQixpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRWpGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsY0FBYyxDQUFDLEtBQWUsRUFBRSxNQUFNLEdBQUcsQ0FBQztJQUM5RCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUN0QyxNQUFNLElBQUksS0FBSyxDQUFDLHdEQUF3RCxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUNELEtBQUssR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRyxNQUFNLEdBQUcsR0FBRyxNQUFNLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ25ELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQzlCLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNyQyxNQUFNLENBQ1AsQ0FBQztJQUNGLG1FQUFtRTtJQUNuRSwrQkFBK0I7SUFDL0IsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDNUUsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxZQUFZLENBQUMsS0FBa0IsRUFBRSxLQUFLLEdBQUcsQ0FBQztJQUM5RCxNQUFNLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QyxNQUFNLEdBQUcsR0FBRyxNQUFNLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ25ELE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQzNCLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLDZDQUE2QztJQUNyRyxLQUFLLENBQ04sQ0FBQztJQUNGLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDckQsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxrQkFBa0IsQ0FBQyxLQUFhLEVBQUUsS0FBSyxHQUFHLENBQUM7SUFDL0QsTUFBTSxHQUFHLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNuRCxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3BELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztBQUN4QyxDQUFDIn0=
@@ -5,11 +5,10 @@ import { serializeToFields } from '../../serialize/serialize.js';
5
5
  * Create a poseidon hash (field) from an array of input fields.
6
6
  * @param input - The input fields to hash.
7
7
  * @returns The poseidon hash.
8
- */
9
- export async function poseidon2Hash(input) {
8
+ */ export async function poseidon2Hash(input) {
10
9
  const inputFields = serializeToFields(input);
11
10
  const api = await BarretenbergSync.initSingleton();
12
- const hash = api.poseidon2Hash(inputFields.map(i => new FrBarretenberg(i.toBuffer())));
11
+ const hash = api.poseidon2Hash(inputFields.map((i)=>new FrBarretenberg(i.toBuffer())));
13
12
  return Fr.fromBuffer(Buffer.from(hash.toBuffer()));
14
13
  }
15
14
  /**
@@ -17,38 +16,36 @@ export async function poseidon2Hash(input) {
17
16
  * @param input - The input fields to hash.
18
17
  * @param separator - The domain separator.
19
18
  * @returns The poseidon hash.
20
- */
21
- export async function poseidon2HashWithSeparator(input, separator) {
19
+ */ export async function poseidon2HashWithSeparator(input, separator) {
22
20
  const inputFields = serializeToFields(input);
23
21
  inputFields.unshift(new Fr(separator));
24
22
  const api = await BarretenbergSync.initSingleton();
25
- const hash = api.poseidon2Hash(inputFields.map(i => new FrBarretenberg(i.toBuffer())));
23
+ const hash = api.poseidon2Hash(inputFields.map((i)=>new FrBarretenberg(i.toBuffer())));
26
24
  return Fr.fromBuffer(Buffer.from(hash.toBuffer()));
27
25
  }
28
26
  export async function poseidon2HashAccumulate(input) {
29
27
  const inputFields = serializeToFields(input);
30
28
  const api = await BarretenbergSync.initSingleton();
31
- const result = api.poseidon2HashAccumulate(inputFields.map(i => new FrBarretenberg(i.toBuffer())));
29
+ const result = api.poseidon2HashAccumulate(inputFields.map((i)=>new FrBarretenberg(i.toBuffer())));
32
30
  return Fr.fromBuffer(Buffer.from(result.toBuffer()));
33
31
  }
34
32
  /**
35
33
  * Runs a Poseidon2 permutation.
36
34
  * @param input the input state. Expected to be of size 4.
37
35
  * @returns the output state, size 4.
38
- */
39
- export async function poseidon2Permutation(input) {
36
+ */ export async function poseidon2Permutation(input) {
40
37
  const inputFields = serializeToFields(input);
41
38
  // We'd like this assertion but it's not possible to use it in the browser.
42
39
  // assert(input.length === 4, 'Input state must be of size 4');
43
40
  const api = await BarretenbergSync.initSingleton();
44
- const res = api.poseidon2Permutation(inputFields.map(i => new FrBarretenberg(i.toBuffer())));
41
+ const res = api.poseidon2Permutation(inputFields.map((i)=>new FrBarretenberg(i.toBuffer())));
45
42
  // We'd like this assertion but it's not possible to use it in the browser.
46
43
  // assert(res.length === 4, 'Output state must be of size 4');
47
- return res.map(o => Fr.fromBuffer(Buffer.from(o.toBuffer())));
44
+ return res.map((o)=>Fr.fromBuffer(Buffer.from(o.toBuffer())));
48
45
  }
49
46
  export async function poseidon2HashBytes(input) {
50
47
  const inputFields = [];
51
- for (let i = 0; i < input.length; i += 31) {
48
+ for(let i = 0; i < input.length; i += 31){
52
49
  const fieldBytes = Buffer.alloc(32, 0);
53
50
  input.slice(i, i + 31).copy(fieldBytes);
54
51
  // Noir builds the bytes as little-endian, so we need to reverse them.
@@ -56,7 +53,6 @@ export async function poseidon2HashBytes(input) {
56
53
  inputFields.push(Fr.fromBuffer(fieldBytes));
57
54
  }
58
55
  const api = await BarretenbergSync.initSingleton();
59
- const res = api.poseidon2Hash(inputFields.map(i => new FrBarretenberg(i.toBuffer())));
56
+ const res = api.poseidon2Hash(inputFields.map((i)=>new FrBarretenberg(i.toBuffer())));
60
57
  return Fr.fromBuffer(Buffer.from(res.toBuffer()));
61
58
  }
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3J5cHRvL3Bvc2VpZG9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLElBQUksY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXRFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1QyxPQUFPLEVBQWtCLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFakY7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsYUFBYSxDQUFDLEtBQWtCO0lBQ3BELE1BQU0sV0FBVyxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdDLE1BQU0sR0FBRyxHQUFHLE1BQU0sZ0JBQWdCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDbkQsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FDNUIsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksY0FBYyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQ3ZELENBQUM7SUFDRixPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3JELENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsMEJBQTBCLENBQUMsS0FBa0IsRUFBRSxTQUFpQjtJQUNwRixNQUFNLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDdkMsTUFBTSxHQUFHLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUVuRCxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsYUFBYSxDQUM1QixXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxjQUFjLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FDdkQsQ0FBQztJQUNGLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDckQsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsdUJBQXVCLENBQUMsS0FBa0I7SUFDOUQsTUFBTSxXQUFXLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0MsTUFBTSxHQUFHLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNuRCxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsdUJBQXVCLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksY0FBYyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuRyxPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3ZELENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxvQkFBb0IsQ0FBQyxLQUFrQjtJQUMzRCxNQUFNLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QywyRUFBMkU7SUFDM0UsK0RBQStEO0lBQy9ELE1BQU0sR0FBRyxHQUFHLE1BQU0sZ0JBQWdCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDbkQsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0YsMkVBQTJFO0lBQzNFLDhEQUE4RDtJQUM5RCxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hFLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLGtCQUFrQixDQUFDLEtBQWE7SUFDcEQsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUMxQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN2QyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXhDLHNFQUFzRTtRQUN0RSxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDckIsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELE1BQU0sR0FBRyxHQUFHLE1BQU0sZ0JBQWdCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDbkQsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FDM0IsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksY0FBYyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQ3ZELENBQUM7SUFFRixPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3BELENBQUMifQ==
@@ -4,7 +4,7 @@ import { RandomnessSingleton } from './randomness_singleton.js';
4
4
  // limit of Crypto.getRandomValues()
5
5
  // https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues
6
6
  const MAX_BYTES = 65536;
7
- const getWebCrypto = () => {
7
+ const getWebCrypto = ()=>{
8
8
  if (typeof window !== 'undefined' && window.crypto) {
9
9
  return window.crypto;
10
10
  }
@@ -13,7 +13,7 @@ const getWebCrypto = () => {
13
13
  }
14
14
  return undefined;
15
15
  };
16
- export const randomBytes = (len) => {
16
+ export const randomBytes = (len)=>{
17
17
  const singleton = RandomnessSingleton.getInstance();
18
18
  if (singleton.isDeterministic()) {
19
19
  return singleton.getBytes(len);
@@ -29,13 +29,12 @@ export const randomBytes = (len) => {
29
29
  if (len > MAX_BYTES) {
30
30
  // this is the max bytes crypto.getRandomValues
31
31
  // can do at once see https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues
32
- for (let generated = 0; generated < len; generated += MAX_BYTES) {
32
+ for(let generated = 0; generated < len; generated += MAX_BYTES){
33
33
  // buffer.slice automatically checks if the end is past the end of
34
34
  // the buffer so we don't have to here
35
35
  crypto.getRandomValues(buf.slice(generated, generated + MAX_BYTES));
36
36
  }
37
- }
38
- else {
37
+ } else {
39
38
  crypto.getRandomValues(buf);
40
39
  }
41
40
  return buf;
@@ -46,8 +45,7 @@ export const randomBytes = (len) => {
46
45
  * @returns A random integer.
47
46
  *
48
47
  * TODO(#3949): This is insecure as it's modulo biased. Nuke or safeguard before mainnet.
49
- */
50
- export const randomInt = (max) => {
48
+ */ export const randomInt = (max)=>{
51
49
  const randomBuffer = randomBytes(6); // Generate a buffer of 6 random bytes.
52
50
  const randomInt = parseInt(randomBuffer.toString('hex'), 16); // Convert buffer to a large integer.
53
51
  return randomInt % max; // Use modulo to ensure the result is less than max.
@@ -58,8 +56,7 @@ export const randomInt = (max) => {
58
56
  * @returns A random bigint.
59
57
  *
60
58
  * TODO(#3949): This is insecure as it's modulo biased. Nuke or safeguard before mainnet.
61
- */
62
- export const randomBigInt = (max) => {
59
+ */ export const randomBigInt = (max)=>{
63
60
  const randomBuffer = randomBytes(8); // Generate a buffer of 8 random bytes.
64
61
  const randomBigInt = BigInt(`0x${randomBuffer.toString('hex')}`); // Convert buffer to a large integer.
65
62
  return randomBigInt % max; // Use modulo to ensure the result is less than max.
@@ -67,9 +64,7 @@ export const randomBigInt = (max) => {
67
64
  /**
68
65
  * Generate a random boolean value.
69
66
  * @returns A random boolean value.
70
- */
71
- export const randomBoolean = () => {
67
+ */ export const randomBoolean = ()=>{
72
68
  const randomByte = randomBytes(1)[0]; // Generate a single random byte.
73
69
  return randomByte % 2 === 0; // Use modulo to determine if the byte is even or odd.
74
70
  };
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3J5cHRvL3JhbmRvbS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFVBQVUsTUFBTSxRQUFRLENBQUM7QUFDaEMsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFDO0FBRWpDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRWhFLG9DQUFvQztBQUNwQywwRUFBMEU7QUFDMUUsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDO0FBRXhCLE1BQU0sWUFBWSxHQUFHLEdBQUcsRUFBRTtJQUN4QixJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbkQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDL0MsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRTtJQUN6QyxNQUFNLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUVwRCxJQUFJLFNBQVMsQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDO1FBQ2hDLE9BQU8sU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNYLE9BQU8sVUFBVSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQVcsQ0FBQztJQUMvQyxDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQUcsWUFBWSxFQUFFLENBQUM7SUFDOUIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLElBQUksR0FBRyxHQUFHLFNBQVMsRUFBRSxDQUFDO1FBQ3BCLCtDQUErQztRQUMvQyxvR0FBb0c7UUFDcEcsS0FBSyxJQUFJLFNBQVMsR0FBRyxDQUFDLEVBQUUsU0FBUyxHQUFHLEdBQUcsRUFBRSxTQUFTLElBQUksU0FBUyxFQUFFLENBQUM7WUFDaEUsa0VBQWtFO1lBQ2xFLHNDQUFzQztZQUN0QyxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLFNBQVMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLENBQUM7SUFDSCxDQUFDO1NBQU0sQ0FBQztRQUNOLE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyxDQUFDO0FBRUY7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUU7SUFDdkMsTUFBTSxZQUFZLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsdUNBQXVDO0lBQzVFLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMscUNBQXFDO0lBQ25HLE9BQU8sU0FBUyxHQUFHLEdBQUcsQ0FBQyxDQUFDLG9EQUFvRDtBQUM5RSxDQUFDLENBQUM7QUFFRjs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRTtJQUMxQyxNQUFNLFlBQVksR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyx1Q0FBdUM7SUFDNUUsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLEtBQUssWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxxQ0FBcUM7SUFDdkcsT0FBTyxZQUFZLEdBQUcsR0FBRyxDQUFDLENBQUMsb0RBQW9EO0FBQ2pGLENBQUMsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxHQUFHLEVBQUU7SUFDaEMsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUNBQWlDO0lBQ3ZFLE9BQU8sVUFBVSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxzREFBc0Q7QUFDckYsQ0FBQyxDQUFDIn0=
@@ -6,17 +6,19 @@ import { createLogger } from '../../log/pino-logger.js';
6
6
  * @remarks This class was implemented so that tests can be run deterministically.
7
7
  *
8
8
  * TODO(#3949): This is not safe enough for production and should be made safer or removed before mainnet.
9
- */
10
- export class RandomnessSingleton {
11
- constructor(seed, log = createLogger('foundation:randomness_singleton')) {
9
+ */ export class RandomnessSingleton {
10
+ seed;
11
+ log;
12
+ static instance;
13
+ counter;
14
+ constructor(seed, log = createLogger('foundation:randomness_singleton')){
12
15
  this.seed = seed;
13
16
  this.log = log;
14
17
  this.counter = 0;
15
18
  if (seed !== undefined) {
16
19
  this.log.debug(`Using pseudo-randomness with seed: ${seed}`);
17
20
  this.counter = seed;
18
- }
19
- else {
21
+ } else {
20
22
  this.log.debug('Using true randomness');
21
23
  }
22
24
  }
@@ -28,10 +30,9 @@ export class RandomnessSingleton {
28
30
  return RandomnessSingleton.instance;
29
31
  }
30
32
  /**
31
- * Indicates whether the generator is deterministic (was seeded) or not.
32
- * @returns Whether the generator is deterministic.
33
- */
34
- isDeterministic() {
33
+ * Indicates whether the generator is deterministic (was seeded) or not.
34
+ * @returns Whether the generator is deterministic.
35
+ */ isDeterministic() {
35
36
  return this.seed !== undefined;
36
37
  }
37
38
  getBytes(length) {
@@ -43,13 +44,12 @@ export class RandomnessSingleton {
43
44
  throw new Error('RandomnessSingleton is not implemented for non-deterministic mode');
44
45
  }
45
46
  const result = Buffer.alloc(length);
46
- for (let i = 0; i < length; i++) {
47
+ for(let i = 0; i < length; i++){
47
48
  // Each byte of the buffer is set to a 1 byte of this.counter's value. 0xff is 255 in decimal and it's used as
48
49
  // a mask to get the last 8 bits of the shifted counter.
49
- result[i] = (this.counter >> (i * 8)) & 0xff;
50
+ result[i] = this.counter >> i * 8 & 0xff;
50
51
  }
51
52
  this.counter++;
52
53
  return result;
53
54
  }
54
55
  }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZG9tbmVzc19zaW5nbGV0b24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3J5cHRvL3JhbmRvbS9yYW5kb21uZXNzX3NpbmdsZXRvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFeEQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sT0FBTyxtQkFBbUI7SUFLOUIsWUFDbUIsSUFBYSxFQUNiLE1BQU0sWUFBWSxDQUFDLGlDQUFpQyxDQUFDO1FBRHJELFNBQUksR0FBSixJQUFJLENBQVM7UUFDYixRQUFHLEdBQUgsR0FBRyxDQUFrRDtRQUpoRSxZQUFPLEdBQUcsQ0FBQyxDQUFDO1FBTWxCLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLHNDQUFzQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUMxQyxDQUFDO0lBQ0gsQ0FBQztJQUVNLE1BQU0sQ0FBQyxXQUFXO1FBQ3ZCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNyRSxtQkFBbUIsQ0FBQyxRQUFRLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvRCxDQUFDO1FBRUQsT0FBTyxtQkFBbUIsQ0FBQyxRQUFRLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLGVBQWU7UUFDcEIsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQztJQUNqQyxDQUFDO0lBRU0sUUFBUSxDQUFDLE1BQWM7UUFDNUIsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzVCLDZGQUE2RjtZQUM3Riw0RkFBNEY7WUFDNUYsOEZBQThGO1lBQzlGLGlEQUFpRDtZQUNqRCxNQUFNLElBQUksS0FBSyxDQUFDLG1FQUFtRSxDQUFDLENBQUM7UUFDdkYsQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ2hDLDhHQUE4RztZQUM5Ryx3REFBd0Q7WUFDeEQsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUMvQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2YsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztDQUNGIn0=
@@ -1,3 +1,2 @@
1
1
  export * from './secp256k1_signer.js';
2
2
  export * from './utils.js';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3J5cHRvL3NlY3AyNTZrMS1zaWduZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLFlBQVksQ0FBQyJ9
@@ -6,9 +6,10 @@ import { addressFromPrivateKey, makeEthSignDigest, signMessage } from './utils.j
6
6
  * A class for signing messages using a secp256k1 private key.
7
7
  * - This is a slim drop in replacement for an Ethereum signer, so it can be used in the same way.
8
8
  * - See `utils.ts` for functions that enable recovering addresses and public keys from signatures.
9
- */
10
- export class Secp256k1Signer {
11
- constructor(privateKey) {
9
+ */ export class Secp256k1Signer {
10
+ privateKey;
11
+ address;
12
+ constructor(privateKey){
12
13
  this.privateKey = privateKey;
13
14
  this.address = addressFromPrivateKey(privateKey.buffer);
14
15
  }
@@ -16,11 +17,10 @@ export class Secp256k1Signer {
16
17
  return signMessage(message, this.privateKey.buffer);
17
18
  }
18
19
  /**
19
- * Sign a message using the same method as eth_sign
20
- * @param message - The message to sign.
21
- * @returns The signature.
22
- */
23
- signMessage(message) {
20
+ * Sign a message using the same method as eth_sign
21
+ * @param message - The message to sign.
22
+ * @returns The signature.
23
+ */ signMessage(message) {
24
24
  const digest = makeEthSignDigest(message);
25
25
  return this.sign(digest);
26
26
  }
@@ -28,4 +28,3 @@ export class Secp256k1Signer {
28
28
  return new Secp256k1Signer(Buffer32.random());
29
29
  }
30
30
  }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcDI1NmsxX3NpZ25lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vc2VjcDI1NmsxLXNpZ25lci9zZWNwMjU2azFfc2lnbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUlwRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRW5GOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBTyxlQUFlO0lBRzFCLFlBQW9CLFVBQW9CO1FBQXBCLGVBQVUsR0FBVixVQUFVLENBQVU7UUFDdEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELElBQUksQ0FBQyxPQUFpQjtRQUNwQixPQUFPLFdBQVcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFdBQVcsQ0FBQyxPQUFpQjtRQUMzQixNQUFNLE1BQU0sR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNO1FBQ1gsT0FBTyxJQUFJLGVBQWUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0NBQ0YifQ==
@@ -7,14 +7,16 @@ const ETH_SIGN_PREFIX = '\x19Ethereum Signed Message:\n32';
7
7
  // We just hash the message to make it easier to work with in the smart contract.
8
8
  export function makeEthSignDigest(message) {
9
9
  const prefix = Buffer.from(ETH_SIGN_PREFIX);
10
- return Buffer32.fromBuffer(keccak256(Buffer.concat([prefix, message.buffer])));
10
+ return Buffer32.fromBuffer(keccak256(Buffer.concat([
11
+ prefix,
12
+ message.buffer
13
+ ])));
11
14
  }
12
15
  /**
13
16
  * Converts a public key to an address.
14
17
  * @param publicKey - The public key to convert.
15
18
  * @returns The address.
16
- */
17
- function publicKeyToAddress(publicKey) {
19
+ */ function publicKeyToAddress(publicKey) {
18
20
  const hash = keccak256(publicKey.subarray(1));
19
21
  return new EthAddress(hash.subarray(12));
20
22
  }
@@ -22,16 +24,14 @@ function publicKeyToAddress(publicKey) {
22
24
  * Converts a private key to a public key.
23
25
  * @param privateKey - The private key to convert.
24
26
  * @returns The public key.
25
- */
26
- export function publicKeyFromPrivateKey(privateKey) {
27
+ */ export function publicKeyFromPrivateKey(privateKey) {
27
28
  return Buffer.from(secp256k1.getPublicKey(privateKey, false));
28
29
  }
29
30
  /**
30
31
  * Converts a private key to an address.
31
32
  * @param privateKey - The private key to convert.
32
33
  * @returns The address.
33
- */
34
- export function addressFromPrivateKey(privateKey) {
34
+ */ export function addressFromPrivateKey(privateKey) {
35
35
  const publicKey = publicKeyFromPrivateKey(privateKey);
36
36
  return publicKeyToAddress(publicKey);
37
37
  }
@@ -40,8 +40,7 @@ export function addressFromPrivateKey(privateKey) {
40
40
  * @param hash - The hash to recover the address from.
41
41
  * @param signature - The signature to recover the address from.
42
42
  * @returns The address.
43
- */
44
- export function recoverAddress(hash, signature) {
43
+ */ export function recoverAddress(hash, signature) {
45
44
  const publicKey = recoverPublicKey(hash, signature);
46
45
  return publicKeyToAddress(publicKey);
47
46
  }
@@ -50,8 +49,7 @@ export function recoverAddress(hash, signature) {
50
49
  * Converts a yParityOrV value to a recovery bit.
51
50
  * @param yParityOrV - The yParityOrV value to convert.
52
51
  * @returns The recovery bit.
53
- */
54
- function toRecoveryBit(yParityOrV) {
52
+ */ function toRecoveryBit(yParityOrV) {
55
53
  if (yParityOrV === 0 || yParityOrV === 1) {
56
54
  return yParityOrV;
57
55
  }
@@ -68,8 +66,7 @@ function toRecoveryBit(yParityOrV) {
68
66
  * @param message - The message to sign.
69
67
  * @param privateKey - The private key to sign the message with.
70
68
  * @returns The signature.
71
- */
72
- export function signMessage(message, privateKey) {
69
+ */ export function signMessage(message, privateKey) {
73
70
  const { r, s, recovery } = secp256k1.sign(message.buffer, privateKey);
74
71
  return new Signature(Buffer32.fromBigInt(r), Buffer32.fromBigInt(s), recovery ? 28 : 27);
75
72
  }
@@ -78,12 +75,10 @@ export function signMessage(message, privateKey) {
78
75
  * @param hash - The hash to recover the public key from.
79
76
  * @param signature - The signature to recover the public key from.
80
77
  * @returns The public key.
81
- */
82
- export function recoverPublicKey(hash, signature) {
78
+ */ export function recoverPublicKey(hash, signature) {
83
79
  const { r, s, v } = signature;
84
80
  const recoveryBit = toRecoveryBit(v);
85
81
  const sig = new secp256k1.Signature(r.toBigInt(), s.toBigInt()).addRecoveryBit(recoveryBit);
86
82
  const publicKey = sig.recoverPublicKey(hash.buffer).toHex(false);
87
83
  return Buffer.from(publicKey, 'hex');
88
84
  }
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3J5cHRvL3NlY3AyNTZrMS1zaWduZXIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXBELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUvQyxNQUFNLGVBQWUsR0FBRyxrQ0FBa0MsQ0FBQztBQUUzRCxpRkFBaUY7QUFDakYsTUFBTSxVQUFVLGlCQUFpQixDQUFDLE9BQWlCO0lBQ2pELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDNUMsT0FBTyxRQUFRLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqRixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQVMsa0JBQWtCLENBQUMsU0FBaUI7SUFDM0MsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5QyxPQUFPLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxVQUFrQjtJQUN4RCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUNoRSxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxVQUFrQjtJQUN0RCxNQUFNLFNBQVMsR0FBRyx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN0RCxPQUFPLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ3ZDLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQUMsSUFBYyxFQUFFLFNBQW9CO0lBQ2pFLE1BQU0sU0FBUyxHQUFHLGdCQUFnQixDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNwRCxPQUFPLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ3ZDLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQVMsYUFBYSxDQUFDLFVBQWtCO0lBQ3ZDLElBQUksVUFBVSxLQUFLLENBQUMsSUFBSSxVQUFVLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDekMsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQUksVUFBVSxLQUFLLEVBQUUsRUFBRSxDQUFDO1FBQ3RCLE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUNELElBQUksVUFBVSxLQUFLLEVBQUUsRUFBRSxDQUFDO1FBQ3RCLE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLE9BQWlCLEVBQUUsVUFBa0I7SUFDL0QsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3RFLE9BQU8sSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUMzRixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsSUFBYyxFQUFFLFNBQW9CO0lBQ25FLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLFNBQVMsQ0FBQztJQUM5QixNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckMsTUFBTSxHQUFHLEdBQUcsSUFBSSxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFNUYsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakUsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUN2QyxDQUFDIn0=
@@ -1,5 +1,4 @@
1
- /* eslint-disable camelcase */
2
- import { default as hash } from 'hash.js';
1
+ /* eslint-disable camelcase */ import { default as hash } from 'hash.js';
3
2
  import { Fr } from '../../fields/fields.js';
4
3
  import { truncateAndPad } from '../../serialize/free_funcs.js';
5
4
  import { serializeToBuffer } from '../../serialize/serialize.js';
@@ -23,8 +22,7 @@ export function sha256ToField(data) {
23
22
  * @param state - The initial state to operate on (modified in-place). 8 u32s.
24
23
  * @param inputs - The inputs to compress into the state. 16 u32s.
25
24
  * @returns The modified state. 8 u32s.
26
- */
27
- export function sha256Compression(state, inputs) {
25
+ */ export function sha256Compression(state, inputs) {
28
26
  if (state.length !== 8) {
29
27
  throw new Error('`state` argument to SHA256 compression must be of length 8');
30
28
  }
@@ -33,22 +31,77 @@ export function sha256Compression(state, inputs) {
33
31
  }
34
32
  const W = new Array(64);
35
33
  const k = [
36
- 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98,
37
- 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786,
38
- 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152, 0xa831c66d, 0xb00327c8,
39
- 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,
40
- 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819,
41
- 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a,
42
- 0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7,
43
- 0xc67178f2,
34
+ 0x428a2f98,
35
+ 0x71374491,
36
+ 0xb5c0fbcf,
37
+ 0xe9b5dba5,
38
+ 0x3956c25b,
39
+ 0x59f111f1,
40
+ 0x923f82a4,
41
+ 0xab1c5ed5,
42
+ 0xd807aa98,
43
+ 0x12835b01,
44
+ 0x243185be,
45
+ 0x550c7dc3,
46
+ 0x72be5d74,
47
+ 0x80deb1fe,
48
+ 0x9bdc06a7,
49
+ 0xc19bf174,
50
+ 0xe49b69c1,
51
+ 0xefbe4786,
52
+ 0x0fc19dc6,
53
+ 0x240ca1cc,
54
+ 0x2de92c6f,
55
+ 0x4a7484aa,
56
+ 0x5cb0a9dc,
57
+ 0x76f988da,
58
+ 0x983e5152,
59
+ 0xa831c66d,
60
+ 0xb00327c8,
61
+ 0xbf597fc7,
62
+ 0xc6e00bf3,
63
+ 0xd5a79147,
64
+ 0x06ca6351,
65
+ 0x14292967,
66
+ 0x27b70a85,
67
+ 0x2e1b2138,
68
+ 0x4d2c6dfc,
69
+ 0x53380d13,
70
+ 0x650a7354,
71
+ 0x766a0abb,
72
+ 0x81c2c92e,
73
+ 0x92722c85,
74
+ 0xa2bfe8a1,
75
+ 0xa81a664b,
76
+ 0xc24b8b70,
77
+ 0xc76c51a3,
78
+ 0xd192e819,
79
+ 0xd6990624,
80
+ 0xf40e3585,
81
+ 0x106aa070,
82
+ 0x19a4c116,
83
+ 0x1e376c08,
84
+ 0x2748774c,
85
+ 0x34b0bcb5,
86
+ 0x391c0cb3,
87
+ 0x4ed8aa4a,
88
+ 0x5b9cca4f,
89
+ 0x682e6ff3,
90
+ 0x748f82ee,
91
+ 0x78a5636f,
92
+ 0x84c87814,
93
+ 0x8cc70208,
94
+ 0x90befffa,
95
+ 0xa4506ceb,
96
+ 0xbef9a3f7,
97
+ 0xc67178f2
44
98
  ];
45
99
  let i = 0;
46
- for (i = 0; i < 16; i++) {
100
+ for(i = 0; i < 16; i++){
47
101
  W[i] = inputs[i];
48
102
  }
49
- for (i = 16; i < W.length; i++) {
50
- W[i] = sum32_4(W[i - 16], W[i - 7], g0_256(W[i - 15]), // Rot17, Rot18, Sh3
51
- g1_256(W[i - 2]));
103
+ for(i = 16; i < W.length; i++){
104
+ W[i] = sum32_4(W[i - 16], W[i - 7], g0_256(W[i - 15]), g1_256(W[i - 2]));
52
105
  }
53
106
  let a = state[0];
54
107
  let b = state[1];
@@ -58,11 +111,9 @@ export function sha256Compression(state, inputs) {
58
111
  let f = state[5];
59
112
  let g = state[6];
60
113
  let h = state[7];
61
- for (let i = 0; i < 64; i++) {
62
- const T1 = sum32_5(h, s1_256(e), // Rot6, Rot11, Rot25
63
- ch32(e, f, g), k[i], W[i]);
64
- const T2 = sum32(s0_256(a), // Rot2, Rot13, Rot22
65
- maj32(a, b, c));
114
+ for(let i = 0; i < 64; i++){
115
+ const T1 = sum32_5(h, s1_256(e), ch32(e, f, g), k[i], W[i]);
116
+ const T2 = sum32(s0_256(a), maj32(a, b, c));
66
117
  h = g;
67
118
  g = f;
68
119
  f = e;
@@ -84,22 +135,22 @@ export function sha256Compression(state, inputs) {
84
135
  }
85
136
  // SHA256 HELPER FUNCTIONS (from hash.js package)
86
137
  function rotr32(w, b) {
87
- return (w >>> b) | (w << (32 - b));
138
+ return w >>> b | w << 32 - b;
88
139
  }
89
140
  function sum32(a, b) {
90
- return (a + b) >>> 0;
141
+ return a + b >>> 0;
91
142
  }
92
143
  function sum32_4(a, b, c, d) {
93
- return (a + b + c + d) >>> 0;
144
+ return a + b + c + d >>> 0;
94
145
  }
95
146
  function sum32_5(a, b, c, d, e) {
96
- return (a + b + c + d + e) >>> 0;
147
+ return a + b + c + d + e >>> 0;
97
148
  }
98
149
  function ch32(x, y, z) {
99
- return (x & y) ^ (~x & z);
150
+ return x & y ^ ~x & z;
100
151
  }
101
152
  function maj32(x, y, z) {
102
- return (x & y) ^ (x & z) ^ (y & z);
153
+ return x & y ^ x & z ^ y & z;
103
154
  }
104
155
  function s0_256(x) {
105
156
  return rotr32(x, 2) ^ rotr32(x, 13) ^ rotr32(x, 22);
@@ -108,9 +159,8 @@ function s1_256(x) {
108
159
  return rotr32(x, 6) ^ rotr32(x, 11) ^ rotr32(x, 25);
109
160
  }
110
161
  function g0_256(x) {
111
- return rotr32(x, 7) ^ rotr32(x, 18) ^ (x >>> 3);
162
+ return rotr32(x, 7) ^ rotr32(x, 18) ^ x >>> 3;
112
163
  }
113
164
  function g1_256(x) {
114
- return rotr32(x, 17) ^ rotr32(x, 19) ^ (x >>> 10);
165
+ return rotr32(x, 17) ^ rotr32(x, 19) ^ x >>> 10;
115
166
  }
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3J5cHRvL3NoYTI1Ni9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4QkFBOEI7QUFDOUIsT0FBTyxFQUFFLE9BQU8sSUFBSSxJQUFJLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFMUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQW1CLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFbEYsTUFBTSxVQUFVLE1BQU0sQ0FBQyxJQUFZO0lBQ2pDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7QUFDMUQsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsSUFBWTtJQUN0QyxPQUFPLGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUN0QyxDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxJQUFrQjtJQUM5QyxNQUFNLE1BQU0sR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDNUMsQ0FBQztBQUVEOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsS0FBa0IsRUFBRSxNQUFtQjtJQUN2RSxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQyw0REFBNEQsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFDRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQyw4REFBOEQsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN4QixNQUFNLENBQUMsR0FBRztRQUNSLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtRQUMxRyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7UUFDMUcsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO1FBQzFHLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtRQUMxRyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7UUFDMUcsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO1FBQzFHLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtRQUMxRyxVQUFVO0tBQ1gsQ0FBQztJQUNGLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNWLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDeEIsQ0FB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LENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDOUIsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDOUIsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDOUIsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsa0RBQWtEO0FBRWxELFNBQVMsTUFBTSxDQUFDLENBQVMsRUFBRSxDQUFTO0lBQ2xDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQyxDQUFDO0FBRUQsU0FBUyxLQUFLLENBQUMsQ0FBUyxFQUFFLENBQVM7SUFDakMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDdkIsQ0FBQztBQUVELFNBQVMsT0FBTyxDQUFDLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUyxFQUFFLENBQVM7SUFDekQsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMvQixDQUFDO0FBRUQsU0FBUyxPQUFPLENBQUMsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUyxFQUFFLENBQVM7SUFDcEUsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDbkMsQ0FBQztBQUVELFNBQVMsSUFBSSxDQUFDLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUztJQUMzQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDNUIsQ0FBQztBQUVELFNBQVMsS0FBSyxDQUFDLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUztJQUM1QyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ3JDLENBQUM7QUFFRCxTQUFTLE1BQU0sQ0FBQyxDQUFTO0lBQ3ZCLE9BQU8sTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDdEQsQ0FBQztBQUVELFNBQVMsTUFBTSxDQUFDLENBQVM7SUFDdkIsT0FBTyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUN0RCxDQUFDO0FBRUQsU0FBUyxNQUFNLENBQUMsQ0FBUztJQUN2QixPQUFPLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUNsRCxDQUFDO0FBRUQsU0FBUyxNQUFNLENBQUMsQ0FBUztJQUN2QixPQUFPLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztBQUNwRCxDQUFDIn0=
@@ -1,14 +1,12 @@
1
1
  import { default as hash } from 'hash.js';
2
2
  import { GrumpkinScalar } from '../../fields/fields.js';
3
3
  import { serializeToBuffer } from '../../serialize/serialize.js';
4
- export const sha512 = (data) => Buffer.from(hash.sha512().update(data).digest());
4
+ export const sha512 = (data)=>Buffer.from(hash.sha512().update(data).digest());
5
5
  /**
6
6
  * @dev We don't truncate in this function (unlike in sha256ToField) because this function is used in situations where
7
7
  * we don't care only about collision resistance but we need the output to be uniformly distributed as well. This is
8
8
  * because we use it as a pseudo-random function.
9
- */
10
- export const sha512ToGrumpkinScalar = (data) => {
9
+ */ export const sha512ToGrumpkinScalar = (data)=>{
11
10
  const buffer = serializeToBuffer(data);
12
11
  return GrumpkinScalar.fromBufferReduce(sha512(buffer));
13
12
  };
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3J5cHRvL3NoYTUxMi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxJQUFJLElBQUksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUUxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFtQixpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRWxGLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7QUFFekY7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLENBQUMsSUFBa0IsRUFBRSxFQUFFO0lBQzNELE1BQU0sTUFBTSxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLE9BQU8sY0FBYyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQ3pELENBQUMsQ0FBQyJ9
@@ -2,4 +2,3 @@ import { BarretenbergSync } from '@aztec/bb.js';
2
2
  export * from './poseidon/index.js';
3
3
  export * from './pedersen/index.js';
4
4
  await BarretenbergSync.initSingleton();
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3J5cHRvL3N5bmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWhELGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxNQUFNLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxDQUFDIn0=
@@ -4,34 +4,35 @@ import { serializeToFields } from '../../../serialize/serialize.js';
4
4
  /**
5
5
  * Create a pedersen commitment (point) from an array of input fields.
6
6
  * Left pads any inputs less than 32 bytes.
7
- */
8
- export function pedersenCommit(input, offset = 0) {
9
- if (!input.every(i => i.length <= 32)) {
7
+ */ export function pedersenCommit(input, offset = 0) {
8
+ if (!input.every((i)=>i.length <= 32)) {
10
9
  throw new Error('All Pedersen Commit input buffers must be <= 32 bytes.');
11
10
  }
12
- input = input.map(i => (i.length < 32 ? Buffer.concat([Buffer.alloc(32 - i.length, 0), i]) : i));
13
- const point = BarretenbergSync.getSingleton().pedersenCommit(input.map(i => new FrBarretenberg(i)), offset);
11
+ input = input.map((i)=>i.length < 32 ? Buffer.concat([
12
+ Buffer.alloc(32 - i.length, 0),
13
+ i
14
+ ]) : i);
15
+ const point = BarretenbergSync.getSingleton().pedersenCommit(input.map((i)=>new FrBarretenberg(i)), offset);
14
16
  // toBuffer returns Uint8Arrays (browser/worker-boundary friendly).
15
17
  // TODO: rename toTypedArray()?
16
- return [Buffer.from(point.x.toBuffer()), Buffer.from(point.y.toBuffer())];
18
+ return [
19
+ Buffer.from(point.x.toBuffer()),
20
+ Buffer.from(point.y.toBuffer())
21
+ ];
17
22
  }
18
23
  /**
19
24
  * Create a pedersen hash (field) from an array of input fields.
20
25
  * @param input - The input fieldables to hash.
21
26
  * @param index - The separator index to use for the hash.
22
27
  * @returns The pedersen hash.
23
- */
24
- export function pedersenHash(input, index = 0) {
28
+ */ export function pedersenHash(input, index = 0) {
25
29
  const inputFields = serializeToFields(input);
26
- const hash = BarretenbergSync.getSingleton().pedersenHash(inputFields.map(i => new FrBarretenberg(i.toBuffer())), // TODO(#4189): remove this stupid conversion
27
- index);
30
+ const hash = BarretenbergSync.getSingleton().pedersenHash(inputFields.map((i)=>new FrBarretenberg(i.toBuffer())), index);
28
31
  return Fr.fromBuffer(Buffer.from(hash.toBuffer()));
29
32
  }
30
33
  /**
31
34
  * Create a pedersen hash from an arbitrary length buffer.
32
- */
33
- export function pedersenHashBuffer(input, index = 0) {
35
+ */ export function pedersenHashBuffer(input, index = 0) {
34
36
  const result = BarretenbergSync.getSingleton().pedersenHashBuffer(input, index);
35
37
  return Buffer.from(result.toBuffer());
36
38
  }
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY3J5cHRvL3N5bmMvcGVkZXJzZW4vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLEVBQUUsSUFBSSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFdEUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9DLE9BQU8sRUFBa0IsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVwRjs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLEtBQWUsRUFBRSxNQUFNLEdBQUcsQ0FBQztJQUN4RCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUN0QyxNQUFNLElBQUksS0FBSyxDQUFDLHdEQUF3RCxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUNELEtBQUssR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRyxNQUFNLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxjQUFjLENBQzFELEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNyQyxNQUFNLENBQ1AsQ0FBQztJQUNGLG1FQUFtRTtJQUNuRSwrQkFBK0I7SUFDL0IsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDNUUsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxLQUFrQixFQUFFLEtBQUssR0FBRyxDQUFDO0lBQ3hELE1BQU0sV0FBVyxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdDLE1BQU0sSUFBSSxHQUFHLGdCQUFnQixDQUFDLFlBQVksRUFBRSxDQUFDLFlBQVksQ0FDdkQsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksY0FBYyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsNkNBQTZDO0lBQ3JHLEtBQUssQ0FDTixDQUFDO0lBQ0YsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNyRCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsS0FBYSxFQUFFLEtBQUssR0FBRyxDQUFDO0lBQ3pELE1BQU0sTUFBTSxHQUFHLGdCQUFnQixDQUFDLFlBQVksRUFBRSxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNoRixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7QUFDeEMsQ0FBQyJ9