@aztec/foundation 0.73.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 (552) 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 +92 -88
  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 +12 -6
  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/abi/encoder.ts +1 -1
  178. package/src/abi/u128.ts +1 -1
  179. package/src/fields/fields.ts +2 -2
  180. package/src/index.ts +0 -1
  181. package/src/queue/serial_queue.ts +1 -1
  182. package/src/testing/files/index.ts +2 -1
  183. package/src/wasm/index.ts +1 -1
  184. package/src/worker/index.ts +1 -1
  185. package/dest/abi/abi.d.ts +0 -853
  186. package/dest/abi/abi.d.ts.map +0 -1
  187. package/dest/abi/buffer.d.ts +0 -18
  188. package/dest/abi/buffer.d.ts.map +0 -1
  189. package/dest/abi/decoder.d.ts +0 -58
  190. package/dest/abi/decoder.d.ts.map +0 -1
  191. package/dest/abi/encoder.d.ts +0 -16
  192. package/dest/abi/encoder.d.ts.map +0 -1
  193. package/dest/abi/event_selector.d.ts +0 -52
  194. package/dest/abi/event_selector.d.ts.map +0 -1
  195. package/dest/abi/function_selector.d.ts +0 -65
  196. package/dest/abi/function_selector.d.ts.map +0 -1
  197. package/dest/abi/index.d.ts +0 -10
  198. package/dest/abi/index.d.ts.map +0 -1
  199. package/dest/abi/note_selector.d.ts +0 -42
  200. package/dest/abi/note_selector.d.ts.map +0 -1
  201. package/dest/abi/selector.d.ts +0 -42
  202. package/dest/abi/selector.d.ts.map +0 -1
  203. package/dest/abi/u128.d.ts +0 -13
  204. package/dest/abi/u128.d.ts.map +0 -1
  205. package/dest/abi/utils.d.ts +0 -44
  206. package/dest/abi/utils.d.ts.map +0 -1
  207. package/dest/array/array.d.ts +0 -71
  208. package/dest/array/array.d.ts.map +0 -1
  209. package/dest/array/index.d.ts +0 -2
  210. package/dest/array/index.d.ts.map +0 -1
  211. package/dest/async-map/index.d.ts +0 -13
  212. package/dest/async-map/index.d.ts.map +0 -1
  213. package/dest/async-pool/index.d.ts +0 -3
  214. package/dest/async-pool/index.d.ts.map +0 -1
  215. package/dest/aztec-address/index.d.ts +0 -57
  216. package/dest/aztec-address/index.d.ts.map +0 -1
  217. package/dest/bigint-buffer/index.d.ts +0 -42
  218. package/dest/bigint-buffer/index.d.ts.map +0 -1
  219. package/dest/blob/blob.d.ts +0 -150
  220. package/dest/blob/blob.d.ts.map +0 -1
  221. package/dest/blob/blob.js +0 -249
  222. package/dest/blob/encoding.d.ts +0 -53
  223. package/dest/blob/encoding.d.ts.map +0 -1
  224. package/dest/blob/encoding.js +0 -87
  225. package/dest/blob/index.d.ts +0 -5
  226. package/dest/blob/index.d.ts.map +0 -1
  227. package/dest/blob/index.js +0 -21
  228. package/dest/blob/interface.d.ts +0 -10
  229. package/dest/blob/interface.d.ts.map +0 -1
  230. package/dest/blob/interface.js +0 -2
  231. package/dest/blob/mocks.d.ts +0 -5
  232. package/dest/blob/mocks.d.ts.map +0 -1
  233. package/dest/blob/mocks.js +0 -25
  234. package/dest/buffer/buffer32.d.ts +0 -91
  235. package/dest/buffer/buffer32.d.ts.map +0 -1
  236. package/dest/buffer/index.d.ts +0 -2
  237. package/dest/buffer/index.d.ts.map +0 -1
  238. package/dest/collection/array.d.ts +0 -101
  239. package/dest/collection/array.d.ts.map +0 -1
  240. package/dest/collection/index.d.ts +0 -3
  241. package/dest/collection/index.d.ts.map +0 -1
  242. package/dest/collection/object.d.ts +0 -14
  243. package/dest/collection/object.d.ts.map +0 -1
  244. package/dest/committable/committable.d.ts +0 -28
  245. package/dest/committable/committable.d.ts.map +0 -1
  246. package/dest/committable/index.d.ts +0 -2
  247. package/dest/committable/index.d.ts.map +0 -1
  248. package/dest/config/env_var.d.ts +0 -2
  249. package/dest/config/env_var.d.ts.map +0 -1
  250. package/dest/config/index.d.ts +0 -66
  251. package/dest/config/index.d.ts.map +0 -1
  252. package/dest/crypto/index.d.ts +0 -9
  253. package/dest/crypto/index.d.ts.map +0 -1
  254. package/dest/crypto/keccak/index.d.ts +0 -28
  255. package/dest/crypto/keccak/index.d.ts.map +0 -1
  256. package/dest/crypto/keys/index.d.ts +0 -5
  257. package/dest/crypto/keys/index.d.ts.map +0 -1
  258. package/dest/crypto/pedersen/index.d.ts +0 -2
  259. package/dest/crypto/pedersen/index.d.ts.map +0 -1
  260. package/dest/crypto/pedersen/pedersen.elliptic.d.ts +0 -13
  261. package/dest/crypto/pedersen/pedersen.elliptic.d.ts.map +0 -1
  262. package/dest/crypto/pedersen/pedersen.noble.d.ts +0 -11
  263. package/dest/crypto/pedersen/pedersen.noble.d.ts.map +0 -1
  264. package/dest/crypto/pedersen/pedersen.wasm.d.ts +0 -21
  265. package/dest/crypto/pedersen/pedersen.wasm.d.ts.map +0 -1
  266. package/dest/crypto/poseidon/index.d.ts +0 -26
  267. package/dest/crypto/poseidon/index.d.ts.map +0 -1
  268. package/dest/crypto/random/index.d.ts +0 -25
  269. package/dest/crypto/random/index.d.ts.map +0 -1
  270. package/dest/crypto/random/randomness_singleton.d.ts +0 -25
  271. package/dest/crypto/random/randomness_singleton.d.ts.map +0 -1
  272. package/dest/crypto/secp256k1-signer/index.d.ts +0 -3
  273. package/dest/crypto/secp256k1-signer/index.d.ts.map +0 -1
  274. package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts +0 -24
  275. package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts.map +0 -1
  276. package/dest/crypto/secp256k1-signer/utils.d.ts +0 -40
  277. package/dest/crypto/secp256k1-signer/utils.d.ts.map +0 -1
  278. package/dest/crypto/sha256/index.d.ts +0 -20
  279. package/dest/crypto/sha256/index.d.ts.map +0 -1
  280. package/dest/crypto/sha512/index.d.ts +0 -11
  281. package/dest/crypto/sha512/index.d.ts.map +0 -1
  282. package/dest/crypto/sync/index.d.ts +0 -3
  283. package/dest/crypto/sync/index.d.ts.map +0 -1
  284. package/dest/crypto/sync/pedersen/index.d.ts +0 -21
  285. package/dest/crypto/sync/pedersen/index.d.ts.map +0 -1
  286. package/dest/crypto/sync/poseidon/index.d.ts +0 -26
  287. package/dest/crypto/sync/poseidon/index.d.ts.map +0 -1
  288. package/dest/decorators/index.d.ts +0 -2
  289. package/dest/decorators/index.d.ts.map +0 -1
  290. package/dest/decorators/memoize.d.ts +0 -2
  291. package/dest/decorators/memoize.d.ts.map +0 -1
  292. package/dest/error/index.d.ts +0 -21
  293. package/dest/error/index.d.ts.map +0 -1
  294. package/dest/eth-address/index.d.ts +0 -134
  295. package/dest/eth-address/index.d.ts.map +0 -1
  296. package/dest/eth-signature/eth_signature.d.ts +0 -62
  297. package/dest/eth-signature/eth_signature.d.ts.map +0 -1
  298. package/dest/eth-signature/index.d.ts +0 -2
  299. package/dest/eth-signature/index.d.ts.map +0 -1
  300. package/dest/fields/coordinate.d.ts +0 -68
  301. package/dest/fields/coordinate.d.ts.map +0 -1
  302. package/dest/fields/fields.d.ts +0 -176
  303. package/dest/fields/fields.d.ts.map +0 -1
  304. package/dest/fields/index.d.ts +0 -4
  305. package/dest/fields/index.d.ts.map +0 -1
  306. package/dest/fields/point.d.ts +0 -175
  307. package/dest/fields/point.d.ts.map +0 -1
  308. package/dest/fs/index.d.ts +0 -2
  309. package/dest/fs/index.d.ts.map +0 -1
  310. package/dest/fs/run_in_dir.d.ts +0 -2
  311. package/dest/fs/run_in_dir.d.ts.map +0 -1
  312. package/dest/index.d.ts +0 -34
  313. package/dest/index.d.ts.map +0 -1
  314. package/dest/iterable/all.d.ts +0 -9
  315. package/dest/iterable/all.d.ts.map +0 -1
  316. package/dest/iterable/filter.d.ts +0 -10
  317. package/dest/iterable/filter.d.ts.map +0 -1
  318. package/dest/iterable/index.d.ts +0 -8
  319. package/dest/iterable/index.d.ts.map +0 -1
  320. package/dest/iterable/isAsyncIt.d.ts +0 -7
  321. package/dest/iterable/isAsyncIt.d.ts.map +0 -1
  322. package/dest/iterable/map.d.ts +0 -12
  323. package/dest/iterable/map.d.ts.map +0 -1
  324. package/dest/iterable/peek.d.ts +0 -19
  325. package/dest/iterable/peek.d.ts.map +0 -1
  326. package/dest/iterable/sort.d.ts +0 -14
  327. package/dest/iterable/sort.d.ts.map +0 -1
  328. package/dest/iterable/take.d.ts +0 -10
  329. package/dest/iterable/take.d.ts.map +0 -1
  330. package/dest/iterable/toArray.d.ts +0 -2
  331. package/dest/iterable/toArray.d.ts.map +0 -1
  332. package/dest/json-rpc/client/fetch.d.ts +0 -21
  333. package/dest/json-rpc/client/fetch.d.ts.map +0 -1
  334. package/dest/json-rpc/client/index.d.ts +0 -3
  335. package/dest/json-rpc/client/index.d.ts.map +0 -1
  336. package/dest/json-rpc/client/safe_json_rpc_client.d.ts +0 -13
  337. package/dest/json-rpc/client/safe_json_rpc_client.d.ts.map +0 -1
  338. package/dest/json-rpc/convert.d.ts +0 -20
  339. package/dest/json-rpc/convert.d.ts.map +0 -1
  340. package/dest/json-rpc/fixtures/class_a.d.ts +0 -11
  341. package/dest/json-rpc/fixtures/class_a.d.ts.map +0 -1
  342. package/dest/json-rpc/fixtures/class_b.d.ts +0 -11
  343. package/dest/json-rpc/fixtures/class_b.d.ts.map +0 -1
  344. package/dest/json-rpc/fixtures/test_state.d.ts +0 -89
  345. package/dest/json-rpc/fixtures/test_state.d.ts.map +0 -1
  346. package/dest/json-rpc/index.d.ts +0 -2
  347. package/dest/json-rpc/index.d.ts.map +0 -1
  348. package/dest/json-rpc/js_utils.d.ts +0 -13
  349. package/dest/json-rpc/js_utils.d.ts.map +0 -1
  350. package/dest/json-rpc/server/index.d.ts +0 -2
  351. package/dest/json-rpc/server/index.d.ts.map +0 -1
  352. package/dest/json-rpc/server/safe_json_rpc_server.d.ts +0 -140
  353. package/dest/json-rpc/server/safe_json_rpc_server.d.ts.map +0 -1
  354. package/dest/json-rpc/server/telemetry.d.ts +0 -2
  355. package/dest/json-rpc/server/telemetry.d.ts.map +0 -1
  356. package/dest/json-rpc/test/index.d.ts +0 -2
  357. package/dest/json-rpc/test/index.d.ts.map +0 -1
  358. package/dest/json-rpc/test/integration.d.ts +0 -13
  359. package/dest/json-rpc/test/integration.d.ts.map +0 -1
  360. package/dest/log/console.d.ts +0 -11
  361. package/dest/log/console.d.ts.map +0 -1
  362. package/dest/log/debug.d.ts +0 -56
  363. package/dest/log/debug.d.ts.map +0 -1
  364. package/dest/log/gcloud-logger-config.d.ts +0 -14
  365. package/dest/log/gcloud-logger-config.d.ts.map +0 -1
  366. package/dest/log/index.d.ts +0 -6
  367. package/dest/log/index.d.ts.map +0 -1
  368. package/dest/log/log-filters.d.ts +0 -7
  369. package/dest/log/log-filters.d.ts.map +0 -1
  370. package/dest/log/log-levels.d.ts +0 -3
  371. package/dest/log/log-levels.d.ts.map +0 -1
  372. package/dest/log/log_fn.d.ts +0 -7
  373. package/dest/log/log_fn.d.ts.map +0 -1
  374. package/dest/log/log_history.d.ts +0 -31
  375. package/dest/log/log_history.d.ts.map +0 -1
  376. package/dest/log/pino-logger.d.ts +0 -53
  377. package/dest/log/pino-logger.d.ts.map +0 -1
  378. package/dest/message/index.d.ts +0 -32
  379. package/dest/message/index.d.ts.map +0 -1
  380. package/dest/mutex/index.d.ts +0 -53
  381. package/dest/mutex/index.d.ts.map +0 -1
  382. package/dest/mutex/mutex_database.d.ts +0 -10
  383. package/dest/mutex/mutex_database.d.ts.map +0 -1
  384. package/dest/noir/index.d.ts +0 -2
  385. package/dest/noir/index.d.ts.map +0 -1
  386. package/dest/noir/noir_package_config.d.ts +0 -129
  387. package/dest/noir/noir_package_config.d.ts.map +0 -1
  388. package/dest/promise/index.d.ts +0 -3
  389. package/dest/promise/index.d.ts.map +0 -1
  390. package/dest/promise/running-promise.d.ts +0 -41
  391. package/dest/promise/running-promise.d.ts.map +0 -1
  392. package/dest/promise/utils.d.ts +0 -12
  393. package/dest/promise/utils.d.ts.map +0 -1
  394. package/dest/queue/base_memory_queue.d.ts +0 -65
  395. package/dest/queue/base_memory_queue.d.ts.map +0 -1
  396. package/dest/queue/bounded_serial_queue.d.ts +0 -56
  397. package/dest/queue/bounded_serial_queue.d.ts.map +0 -1
  398. package/dest/queue/fifo_memory_queue.d.ts +0 -21
  399. package/dest/queue/fifo_memory_queue.d.ts.map +0 -1
  400. package/dest/queue/index.d.ts +0 -6
  401. package/dest/queue/index.d.ts.map +0 -1
  402. package/dest/queue/priority_memory_queue.d.ts +0 -13
  403. package/dest/queue/priority_memory_queue.d.ts.map +0 -1
  404. package/dest/queue/priority_queue.d.ts +0 -14
  405. package/dest/queue/priority_queue.d.ts.map +0 -1
  406. package/dest/queue/semaphore.d.ts +0 -23
  407. package/dest/queue/semaphore.d.ts.map +0 -1
  408. package/dest/queue/serial_queue.d.ts +0 -49
  409. package/dest/queue/serial_queue.d.ts.map +0 -1
  410. package/dest/retry/index.d.ts +0 -44
  411. package/dest/retry/index.d.ts.map +0 -1
  412. package/dest/running-promise/index.d.ts +0 -2
  413. package/dest/running-promise/index.d.ts.map +0 -1
  414. package/dest/schemas/api.d.ts +0 -21
  415. package/dest/schemas/api.d.ts.map +0 -1
  416. package/dest/schemas/index.d.ts +0 -6
  417. package/dest/schemas/index.d.ts.map +0 -1
  418. package/dest/schemas/parse.d.ts +0 -9
  419. package/dest/schemas/parse.d.ts.map +0 -1
  420. package/dest/schemas/schemas.d.ts +0 -60
  421. package/dest/schemas/schemas.d.ts.map +0 -1
  422. package/dest/schemas/types.d.ts +0 -3
  423. package/dest/schemas/types.d.ts.map +0 -1
  424. package/dest/schemas/utils.d.ts +0 -53
  425. package/dest/schemas/utils.d.ts.map +0 -1
  426. package/dest/serialize/buffer_reader.d.ts +0 -239
  427. package/dest/serialize/buffer_reader.d.ts.map +0 -1
  428. package/dest/serialize/field_reader.d.ts +0 -112
  429. package/dest/serialize/field_reader.d.ts.map +0 -1
  430. package/dest/serialize/free_funcs.d.ts +0 -105
  431. package/dest/serialize/free_funcs.d.ts.map +0 -1
  432. package/dest/serialize/index.d.ts +0 -7
  433. package/dest/serialize/index.d.ts.map +0 -1
  434. package/dest/serialize/serialize.d.ts +0 -182
  435. package/dest/serialize/serialize.d.ts.map +0 -1
  436. package/dest/serialize/type_registry.d.ts +0 -23
  437. package/dest/serialize/type_registry.d.ts.map +0 -1
  438. package/dest/serialize/types.d.ts +0 -33
  439. package/dest/serialize/types.d.ts.map +0 -1
  440. package/dest/sleep/index.d.ts +0 -51
  441. package/dest/sleep/index.d.ts.map +0 -1
  442. package/dest/string/index.d.ts +0 -11
  443. package/dest/string/index.d.ts.map +0 -1
  444. package/dest/testing/files/index.d.ts +0 -19
  445. package/dest/testing/files/index.d.ts.map +0 -1
  446. package/dest/testing/index.d.ts +0 -4
  447. package/dest/testing/index.d.ts.map +0 -1
  448. package/dest/testing/port_allocator.d.ts +0 -10
  449. package/dest/testing/port_allocator.d.ts.map +0 -1
  450. package/dest/testing/snapshot_serializer.d.ts +0 -5
  451. package/dest/testing/snapshot_serializer.d.ts.map +0 -1
  452. package/dest/testing/test_data.d.ts +0 -7
  453. package/dest/testing/test_data.d.ts.map +0 -1
  454. package/dest/timer/date.d.ts +0 -13
  455. package/dest/timer/date.d.ts.map +0 -1
  456. package/dest/timer/elapsed.d.ts +0 -13
  457. package/dest/timer/elapsed.d.ts.map +0 -1
  458. package/dest/timer/index.d.ts +0 -5
  459. package/dest/timer/index.d.ts.map +0 -1
  460. package/dest/timer/timeout.d.ts +0 -41
  461. package/dest/timer/timeout.d.ts.map +0 -1
  462. package/dest/timer/timer.d.ts +0 -37
  463. package/dest/timer/timer.d.ts.map +0 -1
  464. package/dest/transport/browser/index.d.ts +0 -5
  465. package/dest/transport/browser/index.d.ts.map +0 -1
  466. package/dest/transport/browser/message_port_socket.d.ts +0 -37
  467. package/dest/transport/browser/message_port_socket.d.ts.map +0 -1
  468. package/dest/transport/browser/shared_worker_connector.d.ts +0 -19
  469. package/dest/transport/browser/shared_worker_connector.d.ts.map +0 -1
  470. package/dest/transport/browser/shared_worker_listener.d.ts +0 -38
  471. package/dest/transport/browser/shared_worker_listener.d.ts.map +0 -1
  472. package/dest/transport/browser/worker_connector.d.ts +0 -26
  473. package/dest/transport/browser/worker_connector.d.ts.map +0 -1
  474. package/dest/transport/browser/worker_listener.d.ts +0 -39
  475. package/dest/transport/browser/worker_listener.d.ts.map +0 -1
  476. package/dest/transport/dispatch/create_dispatch_fn.d.ts +0 -25
  477. package/dest/transport/dispatch/create_dispatch_fn.d.ts.map +0 -1
  478. package/dest/transport/dispatch/create_dispatch_proxy.d.ts +0 -102
  479. package/dest/transport/dispatch/create_dispatch_proxy.d.ts.map +0 -1
  480. package/dest/transport/dispatch/messages.d.ts +0 -52
  481. package/dest/transport/dispatch/messages.d.ts.map +0 -1
  482. package/dest/transport/index.d.ts +0 -12
  483. package/dest/transport/index.d.ts.map +0 -1
  484. package/dest/transport/interface/connector.d.ts +0 -8
  485. package/dest/transport/interface/connector.d.ts.map +0 -1
  486. package/dest/transport/interface/listener.d.ts +0 -13
  487. package/dest/transport/interface/listener.d.ts.map +0 -1
  488. package/dest/transport/interface/socket.d.ts +0 -13
  489. package/dest/transport/interface/socket.d.ts.map +0 -1
  490. package/dest/transport/interface/transferable.d.ts +0 -68
  491. package/dest/transport/interface/transferable.d.ts.map +0 -1
  492. package/dest/transport/node/index.d.ts +0 -3
  493. package/dest/transport/node/index.d.ts.map +0 -1
  494. package/dest/transport/node/node_connector.d.ts +0 -28
  495. package/dest/transport/node/node_connector.d.ts.map +0 -1
  496. package/dest/transport/node/node_connector_socket.d.ts +0 -42
  497. package/dest/transport/node/node_connector_socket.d.ts.map +0 -1
  498. package/dest/transport/node/node_listener.d.ts +0 -26
  499. package/dest/transport/node/node_listener.d.ts.map +0 -1
  500. package/dest/transport/node/node_listener_socket.d.ts +0 -37
  501. package/dest/transport/node/node_listener_socket.d.ts.map +0 -1
  502. package/dest/transport/transport_client.d.ts +0 -61
  503. package/dest/transport/transport_client.d.ts.map +0 -1
  504. package/dest/transport/transport_server.d.ts +0 -56
  505. package/dest/transport/transport_server.d.ts.map +0 -1
  506. package/dest/trees/index.d.ts +0 -59
  507. package/dest/trees/index.d.ts.map +0 -1
  508. package/dest/trees/unbalanced_merkle_tree.d.ts +0 -17
  509. package/dest/trees/unbalanced_merkle_tree.d.ts.map +0 -1
  510. package/dest/trees/unbalanced_tree_store.d.ts +0 -19
  511. package/dest/trees/unbalanced_tree_store.d.ts.map +0 -1
  512. package/dest/types/index.d.ts +0 -19
  513. package/dest/types/index.d.ts.map +0 -1
  514. package/dest/url/index.d.ts +0 -9
  515. package/dest/url/index.d.ts.map +0 -1
  516. package/dest/validation/index.d.ts +0 -9
  517. package/dest/validation/index.d.ts.map +0 -1
  518. package/dest/wasm/empty_wasi_sdk.d.ts +0 -130
  519. package/dest/wasm/empty_wasi_sdk.d.ts.map +0 -1
  520. package/dest/wasm/index.d.ts +0 -2
  521. package/dest/wasm/index.d.ts.map +0 -1
  522. package/dest/wasm/wasm_module.d.ts +0 -136
  523. package/dest/wasm/wasm_module.d.ts.map +0 -1
  524. package/dest/worker/browser/index.d.ts +0 -3
  525. package/dest/worker/browser/index.d.ts.map +0 -1
  526. package/dest/worker/browser/start_web_module.d.ts +0 -7
  527. package/dest/worker/browser/start_web_module.d.ts.map +0 -1
  528. package/dest/worker/browser/web_data_store.d.ts +0 -24
  529. package/dest/worker/browser/web_data_store.d.ts.map +0 -1
  530. package/dest/worker/browser/web_worker.d.ts +0 -10
  531. package/dest/worker/browser/web_worker.d.ts.map +0 -1
  532. package/dest/worker/data_store.d.ts +0 -21
  533. package/dest/worker/data_store.d.ts.map +0 -1
  534. package/dest/worker/index.d.ts +0 -3
  535. package/dest/worker/index.d.ts.map +0 -1
  536. package/dest/worker/node/index.d.ts +0 -3
  537. package/dest/worker/node/index.d.ts.map +0 -1
  538. package/dest/worker/node/node_data_store.d.ts +0 -13
  539. package/dest/worker/node/node_data_store.d.ts.map +0 -1
  540. package/dest/worker/node/node_worker.d.ts +0 -6
  541. package/dest/worker/node/node_worker.d.ts.map +0 -1
  542. package/dest/worker/node/start_node_module.d.ts +0 -7
  543. package/dest/worker/node/start_node_module.d.ts.map +0 -1
  544. package/dest/worker/wasm_worker.d.ts +0 -9
  545. package/dest/worker/wasm_worker.d.ts.map +0 -1
  546. package/dest/worker/worker_pool.d.ts +0 -40
  547. package/dest/worker/worker_pool.d.ts.map +0 -1
  548. package/src/blob/blob.ts +0 -294
  549. package/src/blob/encoding.ts +0 -98
  550. package/src/blob/index.ts +0 -21
  551. package/src/blob/interface.ts +0 -11
  552. package/src/blob/mocks.ts +0 -30
@@ -4,78 +4,86 @@ import { U128 } from './u128.js';
4
4
  import { isAztecAddressStruct, isU128Struct, parseSignedInt } from './utils.js';
5
5
  /**
6
6
  * Decodes values using a provided ABI.
7
- */
8
- class AbiDecoder {
9
- constructor(types, flattened) {
7
+ */ class AbiDecoder {
8
+ types;
9
+ flattened;
10
+ constructor(types, flattened){
10
11
  this.types = types;
11
12
  this.flattened = flattened;
12
13
  }
13
14
  /**
14
- * Decodes a single return value from field to the given type.
15
- * @param abiType - The type of the return value.
16
- * @returns The decoded return value.
17
- */
18
- decodeNext(abiType) {
19
- switch (abiType.kind) {
15
+ * Decodes a single return value from field to the given type.
16
+ * @param abiType - The type of the return value.
17
+ * @returns The decoded return value.
18
+ */ decodeNext(abiType) {
19
+ switch(abiType.kind){
20
20
  case 'field':
21
21
  return this.getNextField().toBigInt();
22
- case 'integer': {
23
- const nextField = this.getNextField();
24
- if (abiType.sign === 'signed') {
25
- // We parse the buffer using 2's complement
26
- return parseSignedInt(nextField.toBuffer(), abiType.width);
22
+ case 'integer':
23
+ {
24
+ const nextField = this.getNextField();
25
+ if (abiType.sign === 'signed') {
26
+ // We parse the buffer using 2's complement
27
+ return parseSignedInt(nextField.toBuffer(), abiType.width);
28
+ }
29
+ return nextField.toBigInt();
27
30
  }
28
- return nextField.toBigInt();
29
- }
30
31
  case 'boolean':
31
32
  return !this.getNextField().isZero();
32
- case 'array': {
33
- const array = [];
34
- for (let i = 0; i < abiType.length; i += 1) {
35
- array.push(this.decodeNext(abiType.type));
36
- }
37
- return array;
38
- }
39
- case 'struct': {
40
- if (isU128Struct(abiType)) {
41
- const fields = [
42
- new Fr(this.decodeNext({ kind: 'field' })),
43
- new Fr(this.decodeNext({ kind: 'field' })),
44
- ];
45
- return U128.fromFields(fields).toInteger();
46
- }
47
- const struct = {};
48
- if (isAztecAddressStruct(abiType)) {
49
- return new AztecAddress(this.getNextField().toBuffer());
33
+ case 'array':
34
+ {
35
+ const array = [];
36
+ for(let i = 0; i < abiType.length; i += 1){
37
+ array.push(this.decodeNext(abiType.type));
38
+ }
39
+ return array;
50
40
  }
51
- for (const field of abiType.fields) {
52
- struct[field.name] = this.decodeNext(field.type);
41
+ case 'struct':
42
+ {
43
+ if (isU128Struct(abiType)) {
44
+ const fields = [
45
+ new Fr(this.decodeNext({
46
+ kind: 'field'
47
+ })),
48
+ new Fr(this.decodeNext({
49
+ kind: 'field'
50
+ }))
51
+ ];
52
+ return U128.fromFields(fields).toInteger();
53
+ }
54
+ const struct = {};
55
+ if (isAztecAddressStruct(abiType)) {
56
+ return new AztecAddress(this.getNextField().toBuffer());
57
+ }
58
+ for (const field of abiType.fields){
59
+ struct[field.name] = this.decodeNext(field.type);
60
+ }
61
+ return struct;
53
62
  }
54
- return struct;
55
- }
56
- case 'string': {
57
- const array = [];
58
- for (let i = 0; i < abiType.length; i += 1) {
59
- array.push(this.getNextField().toBigInt());
63
+ case 'string':
64
+ {
65
+ const array = [];
66
+ for(let i = 0; i < abiType.length; i += 1){
67
+ array.push(this.getNextField().toBigInt());
68
+ }
69
+ return array;
60
70
  }
61
- return array;
62
- }
63
- case 'tuple': {
64
- const array = [];
65
- for (const tupleAbiType of abiType.fields) {
66
- array.push(this.decodeNext(tupleAbiType));
71
+ case 'tuple':
72
+ {
73
+ const array = [];
74
+ for (const tupleAbiType of abiType.fields){
75
+ array.push(this.decodeNext(tupleAbiType));
76
+ }
77
+ return array;
67
78
  }
68
- return array;
69
- }
70
79
  default:
71
80
  throw new Error(`Unsupported type: ${abiType}`);
72
81
  }
73
82
  }
74
83
  /**
75
- * Gets the next field in the flattened buffer.
76
- * @returns The next field in the flattened buffer.
77
- */
78
- getNextField() {
84
+ * Gets the next field in the flattened buffer.
85
+ * @returns The next field in the flattened buffer.
86
+ */ getNextField() {
79
87
  const field = this.flattened.shift();
80
88
  if (!field) {
81
89
  throw new Error('Not enough return values');
@@ -83,11 +91,10 @@ class AbiDecoder {
83
91
  return field;
84
92
  }
85
93
  /**
86
- * Decodes all the values for the given ABI.
87
- * The decided value can be simple types, structs or arrays
88
- * @returns The decoded return values.
89
- */
90
- decode() {
94
+ * Decodes all the values for the given ABI.
95
+ * The decided value can be simple types, structs or arrays
96
+ * @returns The decoded return values.
97
+ */ decode() {
91
98
  if (this.types.length > 1) {
92
99
  throw new Error('Multiple types not supported');
93
100
  }
@@ -102,27 +109,28 @@ class AbiDecoder {
102
109
  * @param abi - The ABI to use as reference.
103
110
  * @param buffer - The flattened Field array to decode.
104
111
  * @returns
105
- */
106
- export function decodeFromAbi(typ, buffer) {
112
+ */ export function decodeFromAbi(typ, buffer) {
107
113
  return new AbiDecoder(typ, buffer.slice()).decode();
108
114
  }
109
115
  /**
110
116
  * Decodes the signature of a function from the name and parameters.
111
- */
112
- export class FunctionSignatureDecoder {
113
- constructor(name, parameters, includeNames = false) {
117
+ */ export class FunctionSignatureDecoder {
118
+ name;
119
+ parameters;
120
+ includeNames;
121
+ separator;
122
+ constructor(name, parameters, includeNames = false){
114
123
  this.name = name;
115
124
  this.parameters = parameters;
116
125
  this.includeNames = includeNames;
117
126
  this.separator = includeNames ? ', ' : ',';
118
127
  }
119
128
  /**
120
- * Decodes a single function parameter type for the function signature.
121
- * @param param - The parameter type to decode.
122
- * @returns A string representing the parameter type.
123
- */
124
- getParameterType(param) {
125
- switch (param.kind) {
129
+ * Decodes a single function parameter type for the function signature.
130
+ * @param param - The parameter type to decode.
131
+ * @returns A string representing the parameter type.
132
+ */ getParameterType(param) {
133
+ switch(param.kind){
126
134
  case 'field':
127
135
  return 'Field';
128
136
  case 'integer':
@@ -137,26 +145,24 @@ export class FunctionSignatureDecoder {
137
145
  case 'string':
138
146
  return `str<${param.length}>`;
139
147
  case 'struct':
140
- return `(${param.fields.map(field => `${this.decodeParameter(field)}`).join(this.separator)})`;
148
+ return `(${param.fields.map((field)=>`${this.decodeParameter(field)}`).join(this.separator)})`;
141
149
  default:
142
150
  throw new Error(`Unsupported type: ${param}`);
143
151
  }
144
152
  }
145
153
  /**
146
- * Decodes a single function parameter for the function signature.
147
- * @param param - The parameter to decode.
148
- * @returns A string representing the parameter type and optionally its name.
149
- */
150
- decodeParameter(param) {
154
+ * Decodes a single function parameter for the function signature.
155
+ * @param param - The parameter to decode.
156
+ * @returns A string representing the parameter type and optionally its name.
157
+ */ decodeParameter(param) {
151
158
  const type = this.getParameterType(param.type);
152
159
  return this.includeNames ? `${param.name}: ${type}` : type;
153
160
  }
154
161
  /**
155
- * Decodes all the parameters and build the function signature
156
- * @returns The function signature.
157
- */
158
- decode() {
159
- return `${this.name}(${this.parameters.map(param => this.decodeParameter(param)).join(this.separator)})`;
162
+ * Decodes all the parameters and build the function signature
163
+ * @returns The function signature.
164
+ */ decode() {
165
+ return `${this.name}(${this.parameters.map((param)=>this.decodeParameter(param)).join(this.separator)})`;
160
166
  }
161
167
  }
162
168
  /**
@@ -164,8 +170,7 @@ export class FunctionSignatureDecoder {
164
170
  * @param name - The name of the function.
165
171
  * @param parameters - The parameters of the function.
166
172
  * @returns - The function signature.
167
- */
168
- export function decodeFunctionSignature(name, parameters) {
173
+ */ export function decodeFunctionSignature(name, parameters) {
169
174
  return new FunctionSignatureDecoder(name, parameters).decode();
170
175
  }
171
176
  /**
@@ -173,8 +178,6 @@ export function decodeFunctionSignature(name, parameters) {
173
178
  * @param name - The name of the function.
174
179
  * @param parameters - The parameters of the function.
175
180
  * @returns - The user-friendly function signature.
176
- */
177
- export function decodeFunctionSignatureWithParameterNames(name, parameters) {
181
+ */ export function decodeFunctionSignatureWithParameterNames(name, parameters) {
178
182
  return new FunctionSignatureDecoder(name, parameters, true).decode();
179
183
  }
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb2Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hYmkvZGVjb2Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXhDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDakMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFPaEY7O0dBRUc7QUFDSCxNQUFNLFVBQVU7SUFDZCxZQUFvQixLQUFnQixFQUFVLFNBQWU7UUFBekMsVUFBSyxHQUFMLEtBQUssQ0FBVztRQUFVLGNBQVMsR0FBVCxTQUFTLENBQU07SUFBRyxDQUFDO0lBRWpFOzs7O09BSUc7SUFDSyxVQUFVLENBQUMsT0FBZ0I7UUFDakMsUUFBUSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDckIsS0FBSyxPQUFPO2dCQUNWLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3hDLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQztnQkFDZixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBRXRDLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztvQkFDOUIsMkNBQTJDO29CQUMzQyxPQUFPLGNBQWMsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM3RCxDQUFDO2dCQUVELE9BQU8sU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzlCLENBQUM7WUFDRCxLQUFLLFNBQVM7Z0JBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN2QyxL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
@@ -4,15 +4,17 @@ import { isAddressStruct, isFunctionSelectorStruct, isU128Struct, isWrappedField
4
4
  /**
5
5
  * Encodes arguments for a function call.
6
6
  * Missing support for integer and string.
7
- */
8
- class ArgumentEncoder {
9
- constructor(abi, args) {
7
+ */ class ArgumentEncoder {
8
+ abi;
9
+ args;
10
+ flattened;
11
+ constructor(abi, args){
10
12
  this.abi = abi;
11
13
  this.args = args;
12
14
  this.flattened = [];
13
15
  }
14
16
  static typeSize(abiType) {
15
- switch (abiType.kind) {
17
+ switch(abiType.kind){
16
18
  case 'field':
17
19
  case 'boolean':
18
20
  case 'integer':
@@ -22,54 +24,46 @@ class ArgumentEncoder {
22
24
  case 'array':
23
25
  return abiType.length * ArgumentEncoder.typeSize(abiType.type);
24
26
  case 'struct':
25
- return abiType.fields.reduce((acc, field) => acc + ArgumentEncoder.typeSize(field.type), 0);
27
+ return abiType.fields.reduce((acc, field)=>acc + ArgumentEncoder.typeSize(field.type), 0);
26
28
  case 'tuple':
27
- return abiType.fields.reduce((acc, field) => acc + ArgumentEncoder.typeSize(field), 0);
28
- default: {
29
- const exhaustiveCheck = abiType;
30
- throw new Error(`Unhandled abi type: ${exhaustiveCheck}`);
31
- }
29
+ return abiType.fields.reduce((acc, field)=>acc + ArgumentEncoder.typeSize(field), 0);
30
+ default:
31
+ {
32
+ const exhaustiveCheck = abiType;
33
+ throw new Error(`Unhandled abi type: ${exhaustiveCheck}`);
34
+ }
32
35
  }
33
36
  }
34
37
  /**
35
- * Encodes a single argument from the given type to field.
36
- * @param abiType - The abi type of the argument.
37
- * @param arg - The value to encode.
38
- * @param name - Name.
39
- */
40
- encodeArgument(abiType, arg, name) {
38
+ * Encodes a single argument from the given type to field.
39
+ * @param abiType - The abi type of the argument.
40
+ * @param arg - The value to encode.
41
+ * @param name - Name.
42
+ */ encodeArgument(abiType, arg, name) {
41
43
  if (arg === undefined || arg == null) {
42
44
  throw new Error(`Undefined argument ${name ?? 'unnamed'} of type ${abiType.kind}`);
43
45
  }
44
- switch (abiType.kind) {
46
+ switch(abiType.kind){
45
47
  case 'field':
46
48
  if (typeof arg === 'number') {
47
49
  this.flattened.push(new Fr(BigInt(arg)));
48
- }
49
- else if (typeof arg === 'bigint') {
50
+ } else if (typeof arg === 'bigint') {
50
51
  this.flattened.push(new Fr(arg));
51
- }
52
- else if (typeof arg === 'string') {
53
- this.flattened.push(Fr.fromHexString(arg));
54
- }
55
- else if (typeof arg === 'boolean') {
52
+ } else if (typeof arg === 'string') {
53
+ this.flattened.push(Fr.fromString(arg));
54
+ } else if (typeof arg === 'boolean') {
56
55
  this.flattened.push(new Fr(arg ? 1n : 0n));
57
- }
58
- else if (typeof arg === 'object') {
56
+ } else if (typeof arg === 'object') {
59
57
  if (Buffer.isBuffer(arg)) {
60
58
  this.flattened.push(Fr.fromBuffer(arg));
61
- }
62
- else if (typeof arg.toField === 'function') {
59
+ } else if (typeof arg.toField === 'function') {
63
60
  this.flattened.push(arg.toField());
64
- }
65
- else if (typeof arg.value === 'string') {
61
+ } else if (typeof arg.value === 'string') {
66
62
  this.flattened.push(Fr.fromHexString(arg.value));
67
- }
68
- else {
63
+ } else {
69
64
  throw new Error(`Argument for ${name} cannot be serialized to a field`);
70
65
  }
71
- }
72
- else {
66
+ } else {
73
67
  throw new Error(`Invalid argument "${arg}" of type ${abiType.kind}`);
74
68
  }
75
69
  break;
@@ -77,64 +71,78 @@ class ArgumentEncoder {
77
71
  this.flattened.push(new Fr(arg ? 1n : 0n));
78
72
  break;
79
73
  case 'array':
80
- for (let i = 0; i < abiType.length; i += 1) {
74
+ for(let i = 0; i < abiType.length; i += 1){
81
75
  this.encodeArgument(abiType.type, arg[i], `${name}[${i}]`);
82
76
  }
83
77
  break;
84
78
  case 'string':
85
- for (let i = 0; i < abiType.length; i += 1) {
79
+ for(let i = 0; i < abiType.length; i += 1){
86
80
  // If the string is shorter than the defined length, pad it with 0s.
87
81
  const toInsert = i < arg.length ? BigInt(arg.charCodeAt(i)) : 0n;
88
82
  this.flattened.push(new Fr(toInsert));
89
83
  }
90
84
  break;
91
- case 'struct': {
92
- // If the type defines the encoding to noir, we use it
93
- if (arg.encodeToNoir !== undefined) {
94
- this.flattened.push(...arg.encodeToNoir());
95
- break;
96
- }
97
- // If the abi expects a struct like { address: Field } and the supplied arg does not have
98
- // an address field in it, we try to encode it as if it were a field directly.
99
- const isAddress = isAddressStruct(abiType);
100
- if (isAddress && typeof arg.address === 'undefined' && typeof arg.inner === 'undefined') {
101
- this.encodeArgument({ kind: 'field' }, arg, `${name}.inner`);
102
- break;
103
- }
104
- // Or if the supplied argument does have an address field in it, like a CompleteAddress,
105
- // we encode it directly as a field.
106
- if (isAddress && typeof arg.address !== 'undefined') {
107
- this.encodeArgument({ kind: 'field' }, arg.address, `${name}.address`);
108
- break;
109
- }
110
- if (isFunctionSelectorStruct(abiType)) {
111
- this.encodeArgument({ kind: 'integer', sign: 'unsigned', width: 32 }, arg.value ?? arg, `${name}.inner`);
112
- break;
113
- }
114
- if (isU128Struct(abiType)) {
115
- // U128 struct has low and high limbs - so we first convert the value to the 2 limbs and then we encode them
116
- const value = new U128(arg);
117
- const limbs = value.toFields();
118
- const limbNames = U128.getLimbNames();
119
- this.encodeArgument({ kind: 'field' }, limbs[0], `${name}.${limbNames[0]}`);
120
- this.encodeArgument({ kind: 'field' }, limbs[1], `${name}.${limbNames[1]}`);
121
- break;
122
- }
123
- if (isWrappedFieldStruct(abiType)) {
124
- this.encodeArgument({ kind: 'field' }, arg.inner ?? arg, `${name}.inner`);
85
+ case 'struct':
86
+ {
87
+ // If the type defines the encoding to noir, we use it
88
+ if (arg.encodeToNoir !== undefined) {
89
+ this.flattened.push(...arg.encodeToNoir());
90
+ break;
91
+ }
92
+ // If the abi expects a struct like { address: Field } and the supplied arg does not have
93
+ // an address field in it, we try to encode it as if it were a field directly.
94
+ const isAddress = isAddressStruct(abiType);
95
+ if (isAddress && typeof arg.address === 'undefined' && typeof arg.inner === 'undefined') {
96
+ this.encodeArgument({
97
+ kind: 'field'
98
+ }, arg, `${name}.inner`);
99
+ break;
100
+ }
101
+ // Or if the supplied argument does have an address field in it, like a CompleteAddress,
102
+ // we encode it directly as a field.
103
+ if (isAddress && typeof arg.address !== 'undefined') {
104
+ this.encodeArgument({
105
+ kind: 'field'
106
+ }, arg.address, `${name}.address`);
107
+ break;
108
+ }
109
+ if (isFunctionSelectorStruct(abiType)) {
110
+ this.encodeArgument({
111
+ kind: 'integer',
112
+ sign: 'unsigned',
113
+ width: 32
114
+ }, arg.value ?? arg, `${name}.inner`);
115
+ break;
116
+ }
117
+ if (isU128Struct(abiType)) {
118
+ // U128 struct has low and high limbs - so we first convert the value to the 2 limbs and then we encode them
119
+ const value = new U128(arg);
120
+ const limbs = value.toFields();
121
+ const limbNames = U128.getLimbNames();
122
+ this.encodeArgument({
123
+ kind: 'field'
124
+ }, limbs[0], `${name}.${limbNames[0]}`);
125
+ this.encodeArgument({
126
+ kind: 'field'
127
+ }, limbs[1], `${name}.${limbNames[1]}`);
128
+ break;
129
+ }
130
+ if (isWrappedFieldStruct(abiType)) {
131
+ this.encodeArgument({
132
+ kind: 'field'
133
+ }, arg.inner ?? arg, `${name}.inner`);
134
+ break;
135
+ }
136
+ for (const field of abiType.fields){
137
+ this.encodeArgument(field.type, arg[field.name], `${name}.${field.name}`);
138
+ }
125
139
  break;
126
140
  }
127
- for (const field of abiType.fields) {
128
- this.encodeArgument(field.type, arg[field.name], `${name}.${field.name}`);
129
- }
130
- break;
131
- }
132
141
  case 'integer':
133
142
  if (typeof arg === 'string') {
134
143
  const value = BigInt(arg);
135
144
  this.flattened.push(new Fr(value));
136
- }
137
- else {
145
+ } else {
138
146
  this.flattened.push(new Fr(arg));
139
147
  }
140
148
  break;
@@ -143,11 +151,10 @@ class ArgumentEncoder {
143
151
  }
144
152
  }
145
153
  /**
146
- * Encodes all the arguments for the given function ABI.
147
- * @returns The encoded arguments.
148
- */
149
- encode() {
150
- for (let i = 0; i < this.abi.parameters.length; i += 1) {
154
+ * Encodes all the arguments for the given function ABI.
155
+ * @returns The encoded arguments.
156
+ */ encode() {
157
+ for(let i = 0; i < this.abi.parameters.length; i += 1){
151
158
  const parameterAbi = this.abi.parameters[i];
152
159
  this.encodeArgument(parameterAbi.type, this.args[i], parameterAbi.name);
153
160
  }
@@ -159,16 +166,13 @@ class ArgumentEncoder {
159
166
  * @param abi - The function ABI entry.
160
167
  * @param args - The arguments to encode.
161
168
  * @returns The encoded arguments.
162
- */
163
- export function encodeArguments(abi, args) {
169
+ */ export function encodeArguments(abi, args) {
164
170
  return new ArgumentEncoder(abi, args).encode();
165
171
  }
166
172
  /**
167
173
  * Returns the size of the arguments for a function ABI.
168
174
  * @param abi - The function ABI entry.
169
175
  * @returns The size of the arguments.
170
- */
171
- export function countArgumentsSize(abi) {
172
- return abi.parameters.reduce((acc, parameter) => acc + ArgumentEncoder.typeSize(parameter.type), 0);
176
+ */ export function countArgumentsSize(abi) {
177
+ return abi.parameters.reduce((acc, parameter)=>acc + ArgumentEncoder.typeSize(parameter.type), 0);
173
178
  }
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb2Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hYmkvZW5jb2Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFeEMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNqQyxPQUFPLEVBQUUsZUFBZSxFQUFFLHdCQUF3QixFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUzRzs7O0dBR0c7QUFDSCxNQUFNLGVBQWU7SUFHbkIsWUFBb0IsR0FBZ0IsRUFBVSxJQUFXO1FBQXJDLFFBQUcsR0FBSCxHQUFHLENBQWE7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFPO1FBRmpELGNBQVMsR0FBUyxFQUFFLENBQUM7SUFFK0IsQ0FBQztJQUU3RCxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQWdCO1FBQzlCLFFBQVEsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3JCLEtBQUssT0FBTyxDQUFDO1lBQ2IsS0FBSyxTQUFTLENBQUM7WUFDZixLQUFLLFNBQVM7Z0JBQ1osT0FBTyxDQUFDLENBQUM7WUFDWCxLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQ3hCLEtBQUssT0FBTztnQkFDVixPQUFPLE9BQU8sQ0FBQyxNQUFNLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakUsS0FBSyxRQUFRO2dCQUNYLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDOUYsS0FBSyxPQUFPO2dCQUNWLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN6RixPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUNSLE1BQU0sZUFBZSxHQUFVLE9BQU8sQ0FBQztnQkFDdkMsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsZUFBZSxFQUFFLENBQUMsQ0FBQztZQUM1RCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLGNBQWMsQ0FBQyxPQUFnQixFQUFFLEdBQVEsRUFBRSxJQUFhO1FBQzlELElBQUksR0FBRyxLQUFLLFNBQVMsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsSUFBSSxJQUFJLFNBQVMsWUFBWSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNyRixDQUFDO1FBQ0QsUUFBUSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDckIsS0FBSyxPQUFPO2dCQUNWLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7b0JBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzNDLENBQUM7cUJBQU0sSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUUsQ0FBQztvQkFDbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDbkMsQ0FBQztxQkFBTSxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO29CQUNuQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQzdDLENBQUM7cUJBQU0sSUFBSSxPQUFPLEdBQUcsS0FBSyxTQUFTLEVBQUUsQ0FBQztvQkFDcEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQzdDLENBQUM7cUJBQU0sSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUUsQ0FBQztvQkFDbkMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7d0JBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFDMUMsQ0FBQzt5QkFBTSxJQUFJLE9BQU8sR0FBRyxDQUFDLE9BQU8sS0FBSyxVQUFVLEVBQUUsQ0FBQzt3QkFDN0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7b0JBQ3JDLENBQUM7eUJBQU0sSUFBSSxPQUFPLEdBQUcsQ0FBQyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7d0JBQ3pDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7b0JBQ25ELENBQUM7eUJBQU0sQ0FBQzt3QkFDTixNQUFNLElBQUksS0FBSyxDQUFDLGdCQUFnQixJQUFJLGtDQUFrQyxDQUFDLENBQUM7b0JBQzFFLENBQUM7Z0JBQ0gsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLEdBQUcsYUFBYSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDdkUsQ0FBQztnQkFDRCxNQUFNO1lBQ1IsS0FBSyxTQUFTO2dCQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUMzQyxNQUFNO1lBQ1IsS0FBSyxPQUFPO2dCQUNWLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDM0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUM3RCxDQUFDO2dCQUNELE1BQU07WUFDUixLQUFLLFFBQVE7Z0JBQ1gsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUMzQyxvRUFBb0U7b0JBQ3BFLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUUsR0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQzdFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7Z0JBQ3hDLENBQUM7Z0JBQ0QsTUFBTTtZQUNSLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFDZCxzREFBc0Q7Z0JBQ3RELElBQUksR0FBRyxDQUFDLFlBQVksS0FBSyxTQUFTLEVBQUUsQ0FBQztvQkFDbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztvQkFDM0MsTUFBTTtnQkFDUixDQUFDO2dCQUVELHlGQUF5RjtnQkFDekYsOEVBQThFO2dCQUM5RSxNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQzNDLElBQUksU0FBUyxJQUFJLE9BQU8sR0FBRyxDQUFDLE9BQU8sS0FBSyxXQUFXLElBQUksT0FBTyxHQUFHLENBQUMsS0FBSyxLQUFLLFdBQVcsRUFBRSxDQUFDO29CQUN4RixJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksUUFBUSxDQUFDLENBQUM7b0JBQzdELE1BQU07Z0JBQ1IsQ0FBQztnQkFDRCx3RkFBd0Y7Z0JBQ3hGLG9DQUFvQztnQkFDcEMsSUFBSSxTQUFTLElBQUksT0FBTyxHQUFHLENBQUMsT0FBTyxLQUFLLFdBQVcsRUFBRSxDQUFDO29CQUNwRCxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxDQUFDO29CQUN2RSxNQUFNO2dCQUNSLENBQUM7Z0JBQ0QsSUFBSSx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO29CQUN0QyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsS0FBSyxJQUFJLEdBQUcsRUFBRSxHQUFHLElBQUksUUFBUSxDQUFDLENBQUM7b0JBQ3pHLE1BQU07Z0JBQ1IsQ0FBQztnQkFDRCxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO29CQUMxQiw0R0FBNEc7b0JBQzVHLE1BQU0sS0FBSyxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUM1QixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQy9CLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztvQkFDdEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDNUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDNUUsTUFBTTtnQkFDUixDQUFDO2dCQUNELElBQUksb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztvQkFDbEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxHQUFHLENBQUMsS0FBSyxJQUFJLEdBQUcsRUFBRSxHQUFHLElBQUksUUFBUSxDQUFDLENBQUM7b0JBQzFFLE1BQU07Z0JBQ1IsQ0FBQztnQkFDRCxLQUFLLE1BQU0sS0FBSyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDbkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLElBQUksS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQzVFLENBQUM7Z0JBQ0QsTUFBTTtZQUNSLENBQUM7WUFDRCxLQUFLLFNBQVM7Z0JBQ1osSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUUsQ0FBQztvQkFDNUIsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUNyQyxDQUFDO3FCQUFNLENBQUM7b0JBQ04sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDbkMsQ0FBQztnQkFDRCxNQUFNO1lBQ1I7Z0JBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNwRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU07UUFDWCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN2RCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1QyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUUsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0NBQ0Y7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQUMsR0FBZ0IsRUFBRSxJQUFXO0lBQzNELE9BQU8sSUFBSSxlQUFlLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0FBQ2pELENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLEdBQWdCO0lBQ2pELE9BQU8sR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDdEcsQ0FBQyJ9
@@ -3,32 +3,28 @@ import { poseidon2HashBytes, randomBytes } from '../crypto/index.js';
3
3
  import { hexSchemaFor } from '../schemas/utils.js';
4
4
  import { BufferReader } from '../serialize/buffer_reader.js';
5
5
  import { Selector } from './selector.js';
6
- /** An event selector is the first 4 bytes of the hash of an event signature. */
7
- export class EventSelector extends Selector {
6
+ /** An event selector is the first 4 bytes of the hash of an event signature. */ export class EventSelector extends Selector {
8
7
  /**
9
- * Deserializes from a buffer or reader, corresponding to a write in cpp.
10
- * @param buffer - Buffer or BufferReader to read from.
11
- * @returns The Selector.
12
- */
13
- static fromBuffer(buffer) {
8
+ * Deserializes from a buffer or reader, corresponding to a write in cpp.
9
+ * @param buffer - Buffer or BufferReader to read from.
10
+ * @returns The Selector.
11
+ */ static fromBuffer(buffer) {
14
12
  const reader = BufferReader.asReader(buffer);
15
13
  const value = Number(toBigIntBE(reader.readBytes(Selector.SIZE)));
16
14
  return new EventSelector(value);
17
15
  }
18
16
  /**
19
- * Converts a field to selector.
20
- * @param fr - The field to convert.
21
- * @returns The selector.
22
- */
23
- static fromField(fr) {
17
+ * Converts a field to selector.
18
+ * @param fr - The field to convert.
19
+ * @returns The selector.
20
+ */ static fromField(fr) {
24
21
  return new EventSelector(Number(fr.toBigInt()));
25
22
  }
26
23
  /**
27
- * Creates a selector from a signature.
28
- * @param signature - Signature to generate the selector for (e.g. "transfer(field,field)").
29
- * @returns selector.
30
- */
31
- static async fromSignature(signature) {
24
+ * Creates a selector from a signature.
25
+ * @param signature - Signature to generate the selector for (e.g. "transfer(field,field)").
26
+ * @returns selector.
27
+ */ static async fromSignature(signature) {
32
28
  // throw if signature contains whitespace
33
29
  if (/\s/.test(signature)) {
34
30
  throw new Error('Signature cannot contain whitespace');
@@ -39,13 +35,12 @@ export class EventSelector extends Selector {
39
35
  return EventSelector.fromBuffer(bytes);
40
36
  }
41
37
  /**
42
- * Create a Selector instance from a hex-encoded string.
43
- *
44
- * @param selector - The hex-encoded string representing the Selector.
45
- * @returns An Selector instance.
46
- * @throws If the selector length is invalid.
47
- */
48
- static fromString(selector) {
38
+ * Create a Selector instance from a hex-encoded string.
39
+ *
40
+ * @param selector - The hex-encoded string representing the Selector.
41
+ * @returns An Selector instance.
42
+ * @throws If the selector length is invalid.
43
+ */ static fromString(selector) {
49
44
  const buf = fromHex(selector);
50
45
  if (buf.length !== Selector.SIZE) {
51
46
  throw new Error(`Invalid EventSelector length ${buf.length} (expected ${Selector.SIZE}).`);
@@ -53,17 +48,15 @@ export class EventSelector extends Selector {
53
48
  return EventSelector.fromBuffer(buf);
54
49
  }
55
50
  /**
56
- * Creates an empty selector.
57
- * @returns An empty selector.
58
- */
59
- static empty() {
51
+ * Creates an empty selector.
52
+ * @returns An empty selector.
53
+ */ static empty() {
60
54
  return new EventSelector(0);
61
55
  }
62
56
  /**
63
- * Creates a random selector.
64
- * @returns A random selector.
65
- */
66
- static random() {
57
+ * Creates a random selector.
58
+ * @returns A random selector.
59
+ */ static random() {
67
60
  return EventSelector.fromBuffer(randomBytes(Selector.SIZE));
68
61
  }
69
62
  toJSON() {
@@ -73,4 +66,3 @@ export class EventSelector extends Selector {
73
66
  return hexSchemaFor(EventSelector);
74
67
  }
75
68
  }
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRfc2VsZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWJpL2V2ZW50X3NlbGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXJFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVV6QyxnRkFBZ0Y7QUFDaEYsTUFBTSxPQUFPLGFBQWMsU0FBUSxRQUFRO0lBQ3pDOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQTZCO1FBQzdDLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0MsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEUsT0FBTyxJQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBTTtRQUNyQixPQUFPLElBQUksYUFBYSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsU0FBaUI7UUFDMUMseUNBQXlDO1FBQ3pDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBQ0QsTUFBTSxJQUFJLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDOUQsa0RBQWtEO1FBQ2xELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEQsT0FBTyxhQUFhLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQWdCO1FBQ2hDLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QixJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLEdBQUcsQ0FBQyxNQUFNLGNBQWMsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUM7UUFDN0YsQ0FBQztRQUNELE9BQU8sYUFBYSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLEtBQUs7UUFDVixPQUFPLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsTUFBTTtRQUNYLE9BQU8sYUFBYSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsTUFBTSxLQUFLLE1BQU07UUFDZixPQUFPLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNyQyxDQUFDO0NBQ0YifQ==