@aztec/foundation 0.76.4 → 0.77.0-testnet-ignition.21

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 (459) hide show
  1. package/dest/array/array.d.ts +1 -1
  2. package/dest/array/array.d.ts.map +1 -1
  3. package/dest/array/array.js +19 -26
  4. package/dest/array/index.js +0 -1
  5. package/dest/async-map/index.js +2 -4
  6. package/dest/async-pool/index.js +6 -9
  7. package/dest/bigint-buffer/index.js +6 -13
  8. package/dest/buffer/buffer32.d.ts +1 -1
  9. package/dest/buffer/buffer32.d.ts.map +1 -1
  10. package/dest/buffer/buffer32.js +53 -66
  11. package/dest/buffer/index.js +0 -1
  12. package/dest/collection/array.d.ts +1 -1
  13. package/dest/collection/array.d.ts.map +1 -1
  14. package/dest/collection/array.js +47 -59
  15. package/dest/collection/index.js +0 -1
  16. package/dest/collection/object.js +9 -9
  17. package/dest/committable/committable.js +15 -20
  18. package/dest/committable/index.js +0 -1
  19. package/dest/config/env_var.d.ts +1 -1
  20. package/dest/config/env_var.d.ts.map +1 -1
  21. package/dest/config/env_var.js +1 -2
  22. package/dest/config/index.d.ts +1 -1
  23. package/dest/config/index.d.ts.map +1 -1
  24. package/dest/config/index.js +31 -36
  25. package/dest/crypto/aes128/index.d.ts +34 -0
  26. package/dest/crypto/aes128/index.d.ts.map +1 -0
  27. package/dest/crypto/aes128/index.js +49 -0
  28. package/dest/crypto/ecdsa/index.d.ts +39 -0
  29. package/dest/crypto/ecdsa/index.d.ts.map +1 -0
  30. package/dest/crypto/ecdsa/index.js +88 -0
  31. package/dest/crypto/ecdsa/signature.d.ts +71 -0
  32. package/dest/crypto/ecdsa/signature.d.ts.map +1 -0
  33. package/dest/crypto/ecdsa/signature.js +92 -0
  34. package/dest/crypto/grumpkin/index.d.ts +47 -0
  35. package/dest/crypto/grumpkin/index.d.ts.map +1 -0
  36. package/dest/crypto/grumpkin/index.js +154 -0
  37. package/dest/crypto/index.d.ts +6 -0
  38. package/dest/crypto/index.d.ts.map +1 -1
  39. package/dest/crypto/index.js +6 -1
  40. package/dest/crypto/keccak/index.js +60 -69
  41. package/dest/crypto/keys/index.js +2 -3
  42. package/dest/crypto/pedersen/index.js +0 -1
  43. package/dest/crypto/pedersen/pedersen.elliptic.js +153 -146
  44. package/dest/crypto/pedersen/pedersen.noble.js +140 -142
  45. package/dest/crypto/pedersen/pedersen.wasm.js +17 -16
  46. package/dest/crypto/poseidon/index.js +15 -19
  47. package/dest/crypto/random/index.js +7 -12
  48. package/dest/crypto/random/randomness_singleton.js +12 -12
  49. package/dest/crypto/schnorr/index.d.ts +30 -0
  50. package/dest/crypto/schnorr/index.d.ts.map +1 -0
  51. package/dest/crypto/schnorr/index.js +68 -0
  52. package/dest/crypto/schnorr/signature.d.ts +70 -0
  53. package/dest/crypto/schnorr/signature.d.ts.map +1 -0
  54. package/dest/crypto/schnorr/signature.js +93 -0
  55. package/dest/crypto/secp256k1/index.d.ts +32 -0
  56. package/dest/crypto/secp256k1/index.d.ts.map +1 -0
  57. package/dest/crypto/secp256k1/index.js +116 -0
  58. package/dest/crypto/secp256k1-signer/index.js +0 -1
  59. package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts +2 -2
  60. package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts.map +1 -1
  61. package/dest/crypto/secp256k1-signer/secp256k1_signer.js +8 -9
  62. package/dest/crypto/secp256k1-signer/utils.js +11 -16
  63. package/dest/crypto/serialize.d.ts +53 -0
  64. package/dest/crypto/serialize.d.ts.map +1 -0
  65. package/dest/crypto/serialize.js +68 -0
  66. package/dest/crypto/sha256/index.js +80 -30
  67. package/dest/crypto/sha512/index.js +2 -4
  68. package/dest/crypto/signature/index.d.ts +19 -0
  69. package/dest/crypto/signature/index.d.ts.map +1 -0
  70. package/dest/crypto/signature/index.js +3 -0
  71. package/dest/crypto/sync/index.js +1 -2
  72. package/dest/crypto/sync/pedersen/index.js +14 -13
  73. package/dest/crypto/sync/poseidon/index.js +10 -14
  74. package/dest/decorators/index.js +0 -1
  75. package/dest/decorators/memoize.js +1 -2
  76. package/dest/error/index.js +6 -19
  77. package/dest/eth-address/index.js +92 -113
  78. package/dest/eth-signature/eth_signature.js +21 -27
  79. package/dest/eth-signature/index.js +0 -1
  80. package/dest/fields/coordinate.d.ts +1 -1
  81. package/dest/fields/coordinate.d.ts.map +1 -1
  82. package/dest/fields/coordinate.js +47 -46
  83. package/dest/fields/fields.d.ts.map +1 -1
  84. package/dest/fields/fields.js +112 -126
  85. package/dest/fields/index.js +0 -1
  86. package/dest/fields/point.js +119 -129
  87. package/dest/fs/index.js +0 -1
  88. package/dest/fs/run_in_dir.d.ts +1 -1
  89. package/dest/fs/run_in_dir.d.ts.map +1 -1
  90. package/dest/fs/run_in_dir.js +16 -7
  91. package/dest/index.d.ts +0 -2
  92. package/dest/index.d.ts.map +1 -1
  93. package/dest/index.js +0 -3
  94. package/dest/iterable/all.js +3 -4
  95. package/dest/iterable/filter.js +10 -11
  96. package/dest/iterable/index.js +0 -1
  97. package/dest/iterable/isAsyncIt.js +1 -3
  98. package/dest/iterable/map.js +10 -11
  99. package/dest/iterable/peek.js +14 -14
  100. package/dest/iterable/sort.js +4 -5
  101. package/dest/iterable/take.js +6 -7
  102. package/dest/iterable/toArray.js +1 -2
  103. package/dest/jest/setup.js +7 -0
  104. package/dest/json-rpc/client/fetch.js +25 -20
  105. package/dest/json-rpc/client/index.js +0 -1
  106. package/dest/json-rpc/client/safe_json_rpc_client.js +20 -9
  107. package/dest/json-rpc/client/undici.d.ts +1 -1
  108. package/dest/json-rpc/client/undici.d.ts.map +1 -1
  109. package/dest/json-rpc/client/undici.js +16 -17
  110. package/dest/json-rpc/convert.d.ts +1 -1
  111. package/dest/json-rpc/convert.d.ts.map +1 -1
  112. package/dest/json-rpc/convert.js +10 -20
  113. package/dest/json-rpc/fixtures/class_a.js +8 -5
  114. package/dest/json-rpc/fixtures/class_b.js +8 -5
  115. package/dest/json-rpc/fixtures/test_state.js +53 -40
  116. package/dest/json-rpc/index.js +0 -1
  117. package/dest/json-rpc/js_utils.js +2 -5
  118. package/dest/json-rpc/server/index.js +0 -1
  119. package/dest/json-rpc/server/safe_json_rpc_server.js +145 -101
  120. package/dest/json-rpc/server/telemetry.js +0 -2
  121. package/dest/json-rpc/test/index.js +0 -1
  122. package/dest/json-rpc/test/integration.d.ts +1 -1
  123. package/dest/json-rpc/test/integration.d.ts.map +1 -1
  124. package/dest/json-rpc/test/integration.js +11 -5
  125. package/dest/log/console.d.ts +1 -1
  126. package/dest/log/console.d.ts.map +1 -1
  127. package/dest/log/console.js +14 -16
  128. package/dest/log/debug.d.ts +1 -1
  129. package/dest/log/debug.d.ts.map +1 -1
  130. package/dest/log/debug.js +9 -18
  131. package/dest/log/gcloud-logger-config.js +17 -15
  132. package/dest/log/index.d.ts +1 -0
  133. package/dest/log/index.d.ts.map +1 -1
  134. package/dest/log/index.js +1 -1
  135. package/dest/log/libp2p_logger.d.ts +7 -0
  136. package/dest/log/libp2p_logger.d.ts.map +1 -0
  137. package/dest/log/libp2p_logger.js +55 -0
  138. package/dest/log/log-filters.js +14 -13
  139. package/dest/log/log-levels.js +10 -2
  140. package/dest/log/log_fn.js +1 -2
  141. package/dest/log/log_history.js +21 -25
  142. package/dest/log/pino-logger.d.ts +8 -4
  143. package/dest/log/pino-logger.d.ts.map +1 -1
  144. package/dest/log/pino-logger.js +92 -74
  145. package/dest/message/index.js +7 -3
  146. package/dest/mutex/index.d.ts +1 -1
  147. package/dest/mutex/index.d.ts.map +1 -1
  148. package/dest/mutex/index.js +34 -32
  149. package/dest/mutex/mutex_database.js +4 -2
  150. package/dest/noir/index.js +0 -1
  151. package/dest/noir/noir_package_config.js +13 -8
  152. package/dest/promise/index.js +0 -1
  153. package/dest/promise/running-promise.d.ts +8 -2
  154. package/dest/promise/running-promise.d.ts.map +1 -1
  155. package/dest/promise/running-promise.js +44 -31
  156. package/dest/promise/utils.js +3 -5
  157. package/dest/queue/base_memory_queue.js +51 -59
  158. package/dest/queue/batch_queue.js +34 -27
  159. package/dest/queue/bounded_serial_queue.js +41 -51
  160. package/dest/queue/fifo_memory_queue.d.ts +1 -1
  161. package/dest/queue/fifo_memory_queue.d.ts.map +1 -1
  162. package/dest/queue/fifo_memory_queue.js +4 -8
  163. package/dest/queue/index.js +0 -1
  164. package/dest/queue/priority_memory_queue.js +3 -4
  165. package/dest/queue/priority_queue.js +5 -5
  166. package/dest/queue/semaphore.js +15 -19
  167. package/dest/queue/serial_queue.js +37 -47
  168. package/dest/retry/index.js +21 -18
  169. package/dest/running-promise/index.js +0 -1
  170. package/dest/schemas/api.d.ts +2 -2
  171. package/dest/schemas/api.d.ts.map +1 -1
  172. package/dest/schemas/api.js +2 -7
  173. package/dest/schemas/index.d.ts +1 -1
  174. package/dest/schemas/index.d.ts.map +1 -1
  175. package/dest/schemas/index.js +1 -2
  176. package/dest/schemas/parse.js +4 -8
  177. package/dest/schemas/schemas.d.ts +1 -16
  178. package/dest/schemas/schemas.d.ts.map +1 -1
  179. package/dest/schemas/schemas.js +28 -56
  180. package/dest/schemas/types.d.ts +1 -1
  181. package/dest/schemas/types.d.ts.map +1 -1
  182. package/dest/schemas/types.js +1 -2
  183. package/dest/schemas/utils.d.ts +1 -1
  184. package/dest/schemas/utils.d.ts.map +1 -1
  185. package/dest/schemas/utils.js +18 -31
  186. package/dest/serialize/buffer_reader.d.ts +1 -1
  187. package/dest/serialize/buffer_reader.d.ts.map +1 -1
  188. package/dest/serialize/buffer_reader.js +164 -188
  189. package/dest/serialize/field_reader.d.ts +1 -1
  190. package/dest/serialize/field_reader.d.ts.map +1 -1
  191. package/dest/serialize/field_reader.js +70 -79
  192. package/dest/serialize/free_funcs.d.ts +1 -1
  193. package/dest/serialize/free_funcs.d.ts.map +1 -1
  194. package/dest/serialize/free_funcs.js +40 -37
  195. package/dest/serialize/index.js +0 -1
  196. package/dest/serialize/serialize.js +72 -83
  197. package/dest/serialize/type_registry.js +10 -14
  198. package/dest/serialize/types.js +4 -5
  199. package/dest/sleep/index.js +25 -29
  200. package/dest/string/index.js +0 -1
  201. package/dest/testing/files/index.js +3 -7
  202. package/dest/testing/index.js +0 -1
  203. package/dest/testing/port_allocator.js +7 -10
  204. package/dest/testing/snapshot_serializer.d.ts +1 -1
  205. package/dest/testing/snapshot_serializer.d.ts.map +1 -1
  206. package/dest/testing/snapshot_serializer.js +14 -9
  207. package/dest/testing/test_data.js +7 -8
  208. package/dest/timer/date.js +9 -7
  209. package/dest/timer/elapsed.js +10 -7
  210. package/dest/timer/index.js +0 -1
  211. package/dest/timer/timeout.js +34 -34
  212. package/dest/timer/timer.js +17 -21
  213. package/dest/transport/browser/index.js +0 -1
  214. package/dest/transport/browser/message_port_socket.d.ts +1 -1
  215. package/dest/transport/browser/message_port_socket.d.ts.map +1 -1
  216. package/dest/transport/browser/message_port_socket.js +26 -30
  217. package/dest/transport/browser/shared_worker_connector.d.ts +1 -1
  218. package/dest/transport/browser/shared_worker_connector.d.ts.map +1 -1
  219. package/dest/transport/browser/shared_worker_connector.js +8 -10
  220. package/dest/transport/browser/shared_worker_listener.d.ts +1 -1
  221. package/dest/transport/browser/shared_worker_listener.d.ts.map +1 -1
  222. package/dest/transport/browser/shared_worker_listener.js +13 -17
  223. package/dest/transport/browser/worker_connector.d.ts +1 -1
  224. package/dest/transport/browser/worker_connector.d.ts.map +1 -1
  225. package/dest/transport/browser/worker_connector.js +12 -12
  226. package/dest/transport/browser/worker_listener.d.ts +1 -1
  227. package/dest/transport/browser/worker_listener.d.ts.map +1 -1
  228. package/dest/transport/browser/worker_listener.js +13 -17
  229. package/dest/transport/dispatch/create_dispatch_fn.js +2 -4
  230. package/dest/transport/dispatch/create_dispatch_proxy.d.ts +2 -2
  231. package/dest/transport/dispatch/create_dispatch_proxy.d.ts.map +1 -1
  232. package/dest/transport/dispatch/create_dispatch_proxy.js +16 -13
  233. package/dest/transport/dispatch/messages.js +4 -3
  234. package/dest/transport/index.js +0 -1
  235. package/dest/transport/interface/connector.d.ts +1 -1
  236. package/dest/transport/interface/connector.d.ts.map +1 -1
  237. package/dest/transport/interface/connector.js +3 -2
  238. package/dest/transport/interface/listener.d.ts +1 -1
  239. package/dest/transport/interface/listener.d.ts.map +1 -1
  240. package/dest/transport/interface/listener.js +4 -2
  241. package/dest/transport/interface/socket.js +7 -2
  242. package/dest/transport/interface/transferable.js +7 -9
  243. package/dest/transport/node/index.js +0 -1
  244. package/dest/transport/node/node_connector.d.ts +2 -2
  245. package/dest/transport/node/node_connector.d.ts.map +1 -1
  246. package/dest/transport/node/node_connector.js +9 -11
  247. package/dest/transport/node/node_connector_socket.d.ts +2 -2
  248. package/dest/transport/node/node_connector_socket.d.ts.map +1 -1
  249. package/dest/transport/node/node_connector_socket.js +21 -25
  250. package/dest/transport/node/node_listener.d.ts +1 -1
  251. package/dest/transport/node/node_listener.d.ts.map +1 -1
  252. package/dest/transport/node/node_listener.js +11 -15
  253. package/dest/transport/node/node_listener_socket.d.ts +2 -2
  254. package/dest/transport/node/node_listener_socket.d.ts.map +1 -1
  255. package/dest/transport/node/node_listener_socket.js +23 -27
  256. package/dest/transport/transport_client.d.ts +1 -1
  257. package/dest/transport/transport_client.d.ts.map +1 -1
  258. package/dest/transport/transport_client.js +47 -46
  259. package/dest/transport/transport_server.d.ts +1 -1
  260. package/dest/transport/transport_server.d.ts.map +1 -1
  261. package/dest/transport/transport_server.js +68 -55
  262. package/dest/trees/hasher.d.ts +39 -0
  263. package/dest/trees/hasher.d.ts.map +1 -0
  264. package/dest/trees/hasher.js +5 -0
  265. package/dest/trees/index.d.ts +8 -56
  266. package/dest/trees/index.d.ts.map +1 -1
  267. package/dest/trees/index.js +8 -1
  268. package/dest/trees/indexed_merkle_tree.d.ts +13 -0
  269. package/dest/trees/indexed_merkle_tree.d.ts.map +1 -0
  270. package/dest/trees/indexed_merkle_tree.js +27 -0
  271. package/dest/trees/indexed_merkle_tree_calculator.d.ts +23 -0
  272. package/dest/trees/indexed_merkle_tree_calculator.d.ts.map +1 -0
  273. package/dest/trees/indexed_merkle_tree_calculator.js +83 -0
  274. package/dest/trees/indexed_tree_leaf.d.ts +57 -0
  275. package/dest/trees/indexed_tree_leaf.d.ts.map +1 -0
  276. package/dest/trees/indexed_tree_leaf.js +5 -0
  277. package/dest/trees/membership_witness.d.ts +62 -0
  278. package/dest/trees/membership_witness.d.ts.map +1 -0
  279. package/dest/trees/membership_witness.js +70 -0
  280. package/dest/trees/merkle_tree.d.ts +18 -0
  281. package/dest/trees/merkle_tree.d.ts.map +1 -0
  282. package/dest/trees/merkle_tree.js +58 -0
  283. package/dest/trees/merkle_tree_calculator.d.ts +16 -0
  284. package/dest/trees/merkle_tree_calculator.d.ts.map +1 -0
  285. package/dest/trees/merkle_tree_calculator.js +61 -0
  286. package/dest/trees/sibling_path.d.ts +132 -0
  287. package/dest/trees/sibling_path.d.ts.map +1 -0
  288. package/dest/trees/sibling_path.js +144 -0
  289. package/dest/trees/unbalanced_merkle_tree.d.ts +1 -1
  290. package/dest/trees/unbalanced_merkle_tree.d.ts.map +1 -1
  291. package/dest/trees/unbalanced_merkle_tree.js +28 -18
  292. package/dest/trees/unbalanced_tree_store.js +43 -29
  293. package/dest/types/index.js +1 -3
  294. package/dest/url/index.js +4 -8
  295. package/dest/validation/index.js +2 -5
  296. package/dest/wasm/empty_wasi_sdk.js +142 -160
  297. package/dest/wasm/index.d.ts +1 -1
  298. package/dest/wasm/index.d.ts.map +1 -1
  299. package/dest/wasm/index.js +0 -1
  300. package/dest/wasm/wasm_module.js +80 -90
  301. package/dest/worker/browser/index.js +0 -1
  302. package/dest/worker/browser/start_web_module.d.ts +1 -1
  303. package/dest/worker/browser/start_web_module.d.ts.map +1 -1
  304. package/dest/worker/browser/start_web_module.js +9 -5
  305. package/dest/worker/browser/web_data_store.d.ts +1 -1
  306. package/dest/worker/browser/web_data_store.d.ts.map +1 -1
  307. package/dest/worker/browser/web_data_store.js +12 -15
  308. package/dest/worker/browser/web_worker.d.ts +1 -1
  309. package/dest/worker/browser/web_worker.d.ts.map +1 -1
  310. package/dest/worker/browser/web_worker.js +6 -5
  311. package/dest/worker/data_store.js +3 -2
  312. package/dest/worker/index.d.ts +1 -1
  313. package/dest/worker/index.d.ts.map +1 -1
  314. package/dest/worker/index.js +0 -1
  315. package/dest/worker/node/index.js +0 -1
  316. package/dest/worker/node/node_data_store.d.ts +1 -1
  317. package/dest/worker/node/node_data_store.d.ts.map +1 -1
  318. package/dest/worker/node/node_data_store.js +4 -5
  319. package/dest/worker/node/node_worker.d.ts +1 -1
  320. package/dest/worker/node/node_worker.d.ts.map +1 -1
  321. package/dest/worker/node/node_worker.js +6 -5
  322. package/dest/worker/node/start_node_module.d.ts +1 -1
  323. package/dest/worker/node/start_node_module.d.ts.map +1 -1
  324. package/dest/worker/node/start_node_module.js +9 -5
  325. package/dest/worker/wasm_worker.d.ts +2 -2
  326. package/dest/worker/wasm_worker.d.ts.map +1 -1
  327. package/dest/worker/wasm_worker.js +3 -2
  328. package/dest/worker/worker_pool.d.ts +1 -1
  329. package/dest/worker/worker_pool.d.ts.map +1 -1
  330. package/dest/worker/worker_pool.js +32 -43
  331. package/package.json +5 -5
  332. package/src/array/array.ts +1 -1
  333. package/src/buffer/buffer32.ts +1 -1
  334. package/src/collection/array.ts +1 -1
  335. package/src/config/env_var.ts +7 -5
  336. package/src/config/index.ts +1 -1
  337. package/src/crypto/aes128/index.ts +59 -0
  338. package/src/crypto/ecdsa/index.ts +70 -0
  339. package/src/crypto/ecdsa/signature.ts +100 -0
  340. package/src/crypto/grumpkin/index.ts +97 -0
  341. package/src/crypto/index.ts +6 -0
  342. package/src/crypto/keys/index.ts +1 -1
  343. package/src/crypto/pedersen/pedersen.wasm.ts +3 -3
  344. package/src/crypto/poseidon/index.ts +5 -5
  345. package/src/crypto/schnorr/index.ts +55 -0
  346. package/src/crypto/schnorr/signature.ts +116 -0
  347. package/src/crypto/secp256k1/index.ts +57 -0
  348. package/src/crypto/secp256k1-signer/secp256k1_signer.ts +2 -2
  349. package/src/crypto/serialize.ts +85 -0
  350. package/src/crypto/signature/index.ts +17 -0
  351. package/src/crypto/sync/index.ts +1 -1
  352. package/src/fields/coordinate.ts +1 -1
  353. package/src/fields/fields.ts +2 -1
  354. package/src/fs/run_in_dir.ts +8 -1
  355. package/src/index.ts +0 -2
  356. package/src/json-rpc/client/undici.ts +1 -1
  357. package/src/json-rpc/convert.ts +1 -1
  358. package/src/json-rpc/server/safe_json_rpc_server.ts +1 -1
  359. package/src/json-rpc/test/integration.ts +1 -1
  360. package/src/log/console.ts +1 -1
  361. package/src/log/debug.ts +1 -1
  362. package/src/log/gcloud-logger-config.ts +1 -1
  363. package/src/log/index.ts +1 -0
  364. package/src/log/libp2p_logger.ts +67 -0
  365. package/src/log/pino-logger.ts +16 -16
  366. package/src/mutex/index.ts +1 -1
  367. package/src/promise/running-promise.ts +24 -5
  368. package/src/queue/fifo_memory_queue.ts +1 -1
  369. package/src/schemas/api.ts +2 -2
  370. package/src/schemas/index.ts +1 -1
  371. package/src/schemas/schemas.ts +2 -26
  372. package/src/schemas/types.ts +1 -1
  373. package/src/schemas/utils.ts +1 -1
  374. package/src/serialize/buffer_reader.ts +1 -1
  375. package/src/serialize/field_reader.ts +1 -1
  376. package/src/serialize/free_funcs.ts +1 -1
  377. package/src/testing/snapshot_serializer.ts +1 -1
  378. package/src/transport/browser/message_port_socket.ts +1 -1
  379. package/src/transport/browser/shared_worker_connector.ts +1 -1
  380. package/src/transport/browser/shared_worker_listener.ts +1 -1
  381. package/src/transport/browser/worker_connector.ts +1 -1
  382. package/src/transport/browser/worker_listener.ts +1 -1
  383. package/src/transport/dispatch/create_dispatch_proxy.ts +2 -2
  384. package/src/transport/interface/connector.ts +1 -1
  385. package/src/transport/interface/listener.ts +1 -1
  386. package/src/transport/node/node_connector.ts +2 -2
  387. package/src/transport/node/node_connector_socket.ts +2 -2
  388. package/src/transport/node/node_listener.ts +1 -1
  389. package/src/transport/node/node_listener_socket.ts +2 -2
  390. package/src/transport/transport_client.ts +2 -2
  391. package/src/transport/transport_server.ts +3 -3
  392. package/src/trees/hasher.ts +39 -0
  393. package/src/trees/index.ts +8 -57
  394. package/src/trees/indexed_merkle_tree.ts +36 -0
  395. package/src/trees/indexed_merkle_tree_calculator.ts +94 -0
  396. package/src/trees/indexed_tree_leaf.ts +56 -0
  397. package/src/trees/membership_witness.ts +99 -0
  398. package/src/trees/merkle_tree.ts +72 -0
  399. package/src/trees/merkle_tree_calculator.ts +67 -0
  400. package/src/trees/sibling_path.ts +183 -0
  401. package/src/trees/unbalanced_merkle_tree.ts +2 -2
  402. package/src/wasm/index.ts +1 -1
  403. package/src/worker/browser/start_web_module.ts +1 -1
  404. package/src/worker/browser/web_data_store.ts +1 -1
  405. package/src/worker/browser/web_worker.ts +1 -1
  406. package/src/worker/index.ts +1 -1
  407. package/src/worker/node/node_data_store.ts +1 -1
  408. package/src/worker/node/node_worker.ts +1 -1
  409. package/src/worker/node/start_node_module.ts +1 -1
  410. package/src/worker/wasm_worker.ts +2 -2
  411. package/src/worker/worker_pool.ts +1 -1
  412. package/dest/abi/abi.d.ts +0 -853
  413. package/dest/abi/abi.d.ts.map +0 -1
  414. package/dest/abi/abi.js +0 -214
  415. package/dest/abi/buffer.d.ts +0 -18
  416. package/dest/abi/buffer.d.ts.map +0 -1
  417. package/dest/abi/buffer.js +0 -34
  418. package/dest/abi/decoder.d.ts +0 -58
  419. package/dest/abi/decoder.d.ts.map +0 -1
  420. package/dest/abi/decoder.js +0 -180
  421. package/dest/abi/encoder.d.ts +0 -16
  422. package/dest/abi/encoder.d.ts.map +0 -1
  423. package/dest/abi/encoder.js +0 -174
  424. package/dest/abi/event_selector.d.ts +0 -52
  425. package/dest/abi/event_selector.d.ts.map +0 -1
  426. package/dest/abi/event_selector.js +0 -76
  427. package/dest/abi/function_selector.d.ts +0 -65
  428. package/dest/abi/function_selector.d.ts.map +0 -1
  429. package/dest/abi/function_selector.js +0 -92
  430. package/dest/abi/index.d.ts +0 -10
  431. package/dest/abi/index.d.ts.map +0 -1
  432. package/dest/abi/index.js +0 -10
  433. package/dest/abi/note_selector.d.ts +0 -42
  434. package/dest/abi/note_selector.d.ts.map +0 -1
  435. package/dest/abi/note_selector.js +0 -63
  436. package/dest/abi/selector.d.ts +0 -42
  437. package/dest/abi/selector.d.ts.map +0 -1
  438. package/dest/abi/selector.js +0 -57
  439. package/dest/abi/u128.d.ts +0 -13
  440. package/dest/abi/u128.d.ts.map +0 -1
  441. package/dest/abi/u128.js +0 -58
  442. package/dest/abi/utils.d.ts +0 -44
  443. package/dest/abi/utils.d.ts.map +0 -1
  444. package/dest/abi/utils.js +0 -72
  445. package/dest/aztec-address/index.d.ts +0 -57
  446. package/dest/aztec-address/index.d.ts.map +0 -1
  447. package/dest/aztec-address/index.js +0 -114
  448. package/src/abi/abi.ts +0 -504
  449. package/src/abi/buffer.ts +0 -36
  450. package/src/abi/decoder.ts +0 -195
  451. package/src/abi/encoder.ts +0 -170
  452. package/src/abi/event_selector.ts +0 -92
  453. package/src/abi/function_selector.ts +0 -124
  454. package/src/abi/index.ts +0 -9
  455. package/src/abi/note_selector.ts +0 -78
  456. package/src/abi/selector.ts +0 -64
  457. package/src/abi/u128.ts +0 -71
  458. package/src/abi/utils.ts +0 -86
  459. package/src/aztec-address/index.ts +0 -146
@@ -1,64 +0,0 @@
1
- import { inspect } from 'util';
2
-
3
- import { toBufferBE } from '../bigint-buffer/index.js';
4
- import { Fr } from '../fields/index.js';
5
- import { bufferToHex } from '../string/index.js';
6
-
7
- /** A selector is the first 4 bytes of the hash of a signature. */
8
- export abstract class Selector {
9
- /** The size of the selector in bytes. */
10
- public static SIZE = 4;
11
-
12
- constructor(/** Value of the selector */ public value: number) {
13
- if (value > 2 ** (Selector.SIZE * 8) - 1) {
14
- throw new Error(`Selector must fit in ${Selector.SIZE} bytes (got value ${value}).`);
15
- }
16
- }
17
-
18
- /**
19
- * Checks if the selector is empty (all bytes are 0).
20
- * @returns True if the selector is empty (all bytes are 0).
21
- */
22
- public isEmpty(): boolean {
23
- return this.value === 0;
24
- }
25
-
26
- /**
27
- * Serialize as a buffer.
28
- * @param bufferSize - The buffer size.
29
- * @returns The buffer.
30
- */
31
- toBuffer(bufferSize = Selector.SIZE): Buffer {
32
- return toBufferBE(BigInt(this.value), bufferSize);
33
- }
34
-
35
- /**
36
- * Serialize as a hex string.
37
- * @returns The string.
38
- */
39
- toString(): string {
40
- return bufferToHex(this.toBuffer());
41
- }
42
-
43
- [inspect.custom]() {
44
- return `Selector<${this.toString()}>`;
45
- }
46
-
47
- /**
48
- * Checks if this selector is equal to another.
49
- * @param other - The other selector.
50
- * @returns True if the selectors are equal.
51
- */
52
- equals(other: Selector): boolean {
53
- return this.value === other.value;
54
- }
55
-
56
- /**
57
- * Returns a new field with the same contents as this EthAddress.
58
- *
59
- * @returns An Fr instance.
60
- */
61
- public toField() {
62
- return new Fr(BigInt(this.value));
63
- }
64
- }
package/src/abi/u128.ts DELETED
@@ -1,71 +0,0 @@
1
- import { Fr } from '../fields/fields.js';
2
-
3
- // A typescript version of noir::std::U128
4
- export class U128 {
5
- private readonly value: bigint;
6
-
7
- constructor(value: bigint | number) {
8
- if (typeof value !== 'bigint') {
9
- value = BigInt(value);
10
- }
11
-
12
- // Check value is within 128 bits
13
- if (value < 0n || value >= 2n ** 128n) {
14
- throw new Error(`Value ${value} is not within 128 bits and hence cannot be converted to U128.`);
15
- }
16
-
17
- this.value = value;
18
- }
19
-
20
- static fromU64sLE(lo: bigint, hi: bigint): U128 {
21
- // Validate limbs are within valid ranges
22
- if (lo < 0n || lo >= 2n ** 64n) {
23
- throw new Error(`Lower limb ${lo} is not within valid range (0 to 2^64-1)`);
24
- }
25
- if (hi < 0n || hi >= 2n ** 64n) {
26
- throw new Error(`Higher limb ${hi} is not within valid range (0 to 2^64-1)`);
27
- }
28
-
29
- // Combine limbs into full value and create new instance
30
- const value = (hi << 64n) | lo;
31
- return new U128(value);
32
- }
33
-
34
- get lo(): bigint {
35
- return this.value & 0xffffffffffffffffn;
36
- }
37
-
38
- get hi(): bigint {
39
- return this.value >> 64n;
40
- }
41
-
42
- toInteger(): bigint {
43
- return this.value;
44
- }
45
-
46
- // We use little-endian ordering to match the order in which U128 defines its limbs.
47
- // This is necessary because of how Noir handles serialization:
48
- // - When calling a contract function from TypeScript, the serialization below gets used and then Noir
49
- // deserializes using its intrinsic serialization logic (based on the limb order in the struct).
50
- // - When calling a contract function from another function, the `serialize` method is invoked
51
- // on the type first.
52
- // For this reason if we didn't use the ordering of U128 limbs here and in the implementation of Serialize
53
- // trait for U128 we would get an arguments hash mismatch.
54
- toFields(): Fr[] {
55
- return [new Fr(this.lo), new Fr(this.hi)];
56
- }
57
-
58
- // Has to follow ordering of `toFields()`
59
- static fromFields(fields: Fr[]): U128 {
60
- if (fields.length !== 2) {
61
- throw new Error(`Expected 2 fields for U128, got ${fields.length}`);
62
- }
63
-
64
- return U128.fromU64sLE(fields[0].toBigInt(), fields[1].toBigInt());
65
- }
66
-
67
- // Has to follow ordering of `toFields()`
68
- static getLimbNames(): string[] {
69
- return ['lo', 'hi'];
70
- }
71
- }
package/src/abi/utils.ts DELETED
@@ -1,86 +0,0 @@
1
- import { type AbiType } from './abi.js';
2
-
3
- /**
4
- * Returns whether the ABI type is an Aztec or Ethereum Address defined in Aztec.nr.
5
- * @param abiType - Type to check.
6
- * @returns Boolean.
7
- */
8
- export function isAddressStruct(abiType: AbiType) {
9
- return isEthAddressStruct(abiType) || isAztecAddressStruct(abiType);
10
- }
11
-
12
- /**
13
- * Returns whether the ABI type is an Ethereum Address defined in Aztec.nr.
14
- * @param abiType - Type to check.
15
- * @returns Boolean.
16
- */
17
- export function isEthAddressStruct(abiType: AbiType) {
18
- return abiType.kind === 'struct' && abiType.path.endsWith('address::EthAddress');
19
- }
20
-
21
- /**
22
- * Returns whether the ABI type is an Aztec Address defined in Aztec.nr.
23
- * @param abiType - Type to check.
24
- * @returns Boolean.
25
- */
26
- export function isAztecAddressStruct(abiType: AbiType) {
27
- return abiType.kind === 'struct' && abiType.path.endsWith('address::AztecAddress');
28
- }
29
-
30
- /**
31
- * Returns whether the ABI type is an Function Selector defined in Aztec.nr.
32
- * @param abiType - Type to check.
33
- * @returns Boolean.
34
- */
35
- export function isFunctionSelectorStruct(abiType: AbiType) {
36
- return abiType.kind === 'struct' && abiType.path.endsWith('types::abis::function_selector::FunctionSelector');
37
- }
38
-
39
- /**
40
- * Returns whether the ABI type is the U128 defined in noir::std.
41
- * @param abiType - Type to check.
42
- */
43
- export function isU128Struct(abiType: AbiType) {
44
- return abiType.kind === 'struct' && abiType.path.endsWith('U128');
45
- }
46
-
47
- /**
48
- * Returns whether the ABI type is a struct with a single `inner` field.
49
- * @param abiType - Type to check.
50
- */
51
- export function isWrappedFieldStruct(abiType: AbiType) {
52
- return (
53
- abiType.kind === 'struct' &&
54
- abiType.fields.length === 1 &&
55
- abiType.fields[0].name === 'inner' &&
56
- abiType.fields[0].type.kind === 'field'
57
- );
58
- }
59
-
60
- /**
61
- * Returns a bigint by parsing a serialized 2's complement signed int.
62
- * @param b - The signed int as a buffer
63
- * @returns - a deserialized bigint
64
- */
65
- export function parseSignedInt(b: Buffer, width?: number) {
66
- const buf = Buffer.from(b);
67
-
68
- // We get the last (width / 8) bytes where width = bits of type (i64, i32 etc)
69
- const slicedBuf = width !== undefined ? buf.subarray(-(width / 8)) : buf;
70
-
71
- // Then manually deserialize with 2's complement, with the process as follows:
72
-
73
- // If our most significant bit is high...
74
- if (0x80 & slicedBuf.subarray(0, 1).readUInt8()) {
75
- // We flip the bits
76
- for (let i = 0; i < slicedBuf.length; i++) {
77
- slicedBuf[i] = ~slicedBuf[i];
78
- }
79
-
80
- // Add one, then negate it
81
- return -(BigInt(`0x${slicedBuf.toString('hex')}`) + 1n);
82
- }
83
-
84
- // ...otherwise we just return our positive int
85
- return BigInt(`0x${slicedBuf.toString('hex')}`);
86
- }
@@ -1,146 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-unsafe-declaration-merging */
2
- import { inspect } from 'util';
3
-
4
- import { Fr, Point, fromBuffer } from '../fields/index.js';
5
- import { hexSchemaFor } from '../schemas/utils.js';
6
- import { type BufferReader, FieldReader } from '../serialize/index.js';
7
- import { TypeRegistry } from '../serialize/type_registry.js';
8
- import { hexToBuffer } from '../string/index.js';
9
-
10
- /** Branding to ensure fields are not interchangeable types. */
11
- export interface AztecAddress {
12
- /** Brand. */
13
- _branding: 'AztecAddress';
14
- }
15
- /**
16
- * AztecAddress represents a 32-byte address in the Aztec Protocol. It provides methods to create, manipulate, and
17
- * compare addresses, as well as conversion to and from strings, buffers, and other formats.
18
- * Addresses are the x coordinate of a point in the Grumpkin curve, and therefore their maximum is determined by the
19
- * field modulus. An address with a value that is not the x coordinate of a point in the curve is a called an 'invalid
20
- * address'. These addresses have a greatly reduced feature set, as they cannot own secrets nor have messages encrypted
21
- * to them, making them quite useless. We need to be able to represent them however as they can be encountered in the
22
- * wild.
23
- */
24
- export class AztecAddress {
25
- private xCoord: Fr;
26
-
27
- constructor(buffer: Buffer | Fr) {
28
- if ('length' in buffer && buffer.length !== 32) {
29
- throw new Error(`Invalid AztecAddress length ${buffer.length}.`);
30
- }
31
- this.xCoord = new Fr(buffer);
32
- }
33
-
34
- [inspect.custom]() {
35
- return `AztecAddress<${this.toString()}>`;
36
- }
37
-
38
- static isAddress(str: string) {
39
- return /^(0x)?[a-fA-F0-9]{64}$/.test(str);
40
- }
41
-
42
- static SIZE_IN_BYTES = Fr.SIZE_IN_BYTES;
43
-
44
- static ZERO = new AztecAddress(Buffer.alloc(32, 0));
45
-
46
- static zero(): AztecAddress {
47
- return AztecAddress.ZERO;
48
- }
49
-
50
- static fromField(fr: Fr) {
51
- return new AztecAddress(fr);
52
- }
53
-
54
- static fromBuffer(buffer: Buffer | BufferReader) {
55
- return new AztecAddress(fromBuffer(buffer, Fr));
56
- }
57
-
58
- static fromFields(fields: Fr[] | FieldReader) {
59
- const reader = FieldReader.asReader(fields);
60
- return new AztecAddress(reader.readField());
61
- }
62
-
63
- static fromBigInt(value: bigint) {
64
- return new AztecAddress(new Fr(value));
65
- }
66
-
67
- static fromNumber(value: number) {
68
- return new AztecAddress(new Fr(value));
69
- }
70
-
71
- static fromString(buf: string) {
72
- return new AztecAddress(hexToBuffer(buf));
73
- }
74
-
75
- /**
76
- * @returns a random valid address (i.e. one that can be encrypted to).
77
- */
78
- static async random() {
79
- // About half of random field elements result in invalid addresses, so we loop until we get a valid one.
80
- while (true) {
81
- const candidate = new AztecAddress(Fr.random());
82
- if (await candidate.isValid()) {
83
- return candidate;
84
- }
85
- }
86
- }
87
-
88
- get size() {
89
- return this.xCoord.size;
90
- }
91
-
92
- equals(other: AztecAddress) {
93
- return this.xCoord.equals(other.xCoord);
94
- }
95
-
96
- isZero() {
97
- return this.xCoord.isZero();
98
- }
99
-
100
- /**
101
- * @returns true if the address is valid. Invalid addresses cannot receive encrypted messages.
102
- */
103
- async isValid() {
104
- // An address is a field value (Fr), which for some purposes is assumed to be the x coordinate of a point in the
105
- // Grumpkin curve (notably in order to encrypt to it). An address that is not the x coordinate of such a point is
106
- // called an 'invalid' address.
107
- //
108
- // For Grumpkin, y^2 = x^3 − 17 . There exist values x ∈ Fr for which no y satisfies this equation. This means that
109
- // given such an x and t = x^3 − 17, then sqrt(t) does not exist in Fr.
110
- return (await Point.YFromX(this.xCoord)) !== null;
111
- }
112
-
113
- /**
114
- * @returns the Point from which the address is derived. Throws if the address is invalid.
115
- */
116
- toAddressPoint(): Promise<Point> {
117
- return Point.fromXAndSign(this.xCoord, true);
118
- }
119
-
120
- toBuffer() {
121
- return this.xCoord.toBuffer();
122
- }
123
-
124
- toBigInt() {
125
- return this.xCoord.toBigInt();
126
- }
127
-
128
- toField() {
129
- return this.xCoord;
130
- }
131
-
132
- toString() {
133
- return this.xCoord.toString();
134
- }
135
-
136
- toJSON() {
137
- return this.toString();
138
- }
139
-
140
- static get schema() {
141
- return hexSchemaFor(AztecAddress, AztecAddress.isAddress);
142
- }
143
- }
144
-
145
- // For deserializing JSON.
146
- TypeRegistry.register('AztecAddress', AztecAddress);