@aztec/foundation 0.0.1-commit.03f7ef2 → 0.0.1-commit.04d373f

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 (367) hide show
  1. package/dest/array/index.d.ts +2 -1
  2. package/dest/array/index.d.ts.map +1 -1
  3. package/dest/array/index.js +1 -0
  4. package/dest/array/sorted_array.d.ts +15 -0
  5. package/dest/array/sorted_array.d.ts.map +1 -0
  6. package/dest/array/sorted_array.js +109 -0
  7. package/dest/bigint-buffer/index.d.ts +1 -1
  8. package/dest/bigint-buffer/index.d.ts.map +1 -1
  9. package/dest/bigint-buffer/index.js +6 -1
  10. package/dest/branded-types/block_number.d.ts +6 -3
  11. package/dest/branded-types/block_number.d.ts.map +1 -1
  12. package/dest/branded-types/block_number.js +18 -4
  13. package/dest/branded-types/buffer32_hash.d.ts +27 -0
  14. package/dest/branded-types/buffer32_hash.d.ts.map +1 -0
  15. package/dest/branded-types/buffer32_hash.js +12 -0
  16. package/dest/branded-types/checkpoint_number.d.ts +17 -3
  17. package/dest/branded-types/checkpoint_number.d.ts.map +1 -1
  18. package/dest/branded-types/checkpoint_number.js +28 -8
  19. package/dest/branded-types/epoch.d.ts +2 -2
  20. package/dest/branded-types/epoch.d.ts.map +1 -1
  21. package/dest/branded-types/index.d.ts +4 -2
  22. package/dest/branded-types/index.d.ts.map +1 -1
  23. package/dest/branded-types/index.js +3 -1
  24. package/dest/branded-types/index_within_checkpoint.d.ts +42 -0
  25. package/dest/branded-types/index_within_checkpoint.d.ts.map +1 -0
  26. package/dest/branded-types/index_within_checkpoint.js +59 -0
  27. package/dest/branded-types/slot.d.ts +5 -2
  28. package/dest/branded-types/slot.d.ts.map +1 -1
  29. package/dest/branded-types/slot.js +3 -0
  30. package/dest/buffer/buffer16.d.ts +6 -1
  31. package/dest/buffer/buffer16.d.ts.map +1 -1
  32. package/dest/buffer/buffer16.js +3 -1
  33. package/dest/buffer/buffer32.d.ts +28 -58
  34. package/dest/buffer/buffer32.d.ts.map +1 -1
  35. package/dest/buffer/buffer32.js +32 -64
  36. package/dest/buffer/index.d.ts +2 -1
  37. package/dest/buffer/index.d.ts.map +1 -1
  38. package/dest/buffer/index.js +1 -0
  39. package/dest/buffer/utils.d.ts +3 -0
  40. package/dest/buffer/utils.d.ts.map +1 -0
  41. package/dest/buffer/utils.js +7 -0
  42. package/dest/collection/array.d.ts +22 -1
  43. package/dest/collection/array.d.ts.map +1 -1
  44. package/dest/collection/array.js +84 -0
  45. package/dest/collection/index.d.ts +3 -1
  46. package/dest/collection/index.d.ts.map +1 -1
  47. package/dest/collection/index.js +2 -0
  48. package/dest/collection/lru_map.d.ts +41 -0
  49. package/dest/collection/lru_map.d.ts.map +1 -0
  50. package/dest/collection/lru_map.js +119 -0
  51. package/dest/collection/lru_set.d.ts +35 -0
  52. package/dest/collection/lru_set.d.ts.map +1 -0
  53. package/dest/collection/lru_set.js +95 -0
  54. package/dest/committable/committable.js +1 -1
  55. package/dest/config/env_var.d.ts +2 -2
  56. package/dest/config/env_var.d.ts.map +1 -1
  57. package/dest/config/index.d.ts +51 -31
  58. package/dest/config/index.d.ts.map +1 -1
  59. package/dest/config/index.js +59 -50
  60. package/dest/config/network_config.d.ts +15 -41
  61. package/dest/config/network_config.d.ts.map +1 -1
  62. package/dest/config/network_config.js +4 -1
  63. package/dest/config/network_name.d.ts +2 -2
  64. package/dest/config/network_name.d.ts.map +1 -1
  65. package/dest/config/network_name.js +2 -2
  66. package/dest/config/parse-env.d.ts +3 -0
  67. package/dest/config/parse-env.d.ts.map +1 -0
  68. package/dest/config/parse-env.js +7 -0
  69. package/dest/config/secret_value.d.ts +2 -2
  70. package/dest/config/secret_value.d.ts.map +1 -1
  71. package/dest/config/secret_value.js +3 -1
  72. package/dest/crypto/aes128/index.d.ts +2 -1
  73. package/dest/crypto/aes128/index.d.ts.map +1 -1
  74. package/dest/crypto/aes128/index.js +11 -2
  75. package/dest/crypto/bls/bn254_keystore.d.ts +9 -176
  76. package/dest/crypto/bls/bn254_keystore.d.ts.map +1 -1
  77. package/dest/crypto/bls/bn254_keystore.js +0 -17
  78. package/dest/crypto/ecdsa/signature.d.ts +10 -1
  79. package/dest/crypto/ecdsa/signature.d.ts.map +1 -1
  80. package/dest/crypto/poseidon/index.d.ts +1 -2
  81. package/dest/crypto/poseidon/index.d.ts.map +1 -1
  82. package/dest/crypto/poseidon/index.js +40 -42
  83. package/dest/crypto/random/randomness_singleton.d.ts +4 -3
  84. package/dest/crypto/random/randomness_singleton.d.ts.map +1 -1
  85. package/dest/crypto/random/randomness_singleton.js +5 -5
  86. package/dest/crypto/schnorr/index.d.ts +8 -7
  87. package/dest/crypto/schnorr/index.d.ts.map +1 -1
  88. package/dest/crypto/schnorr/index.js +6 -6
  89. package/dest/crypto/schnorr/signature.d.ts +9 -29
  90. package/dest/crypto/schnorr/signature.d.ts.map +1 -1
  91. package/dest/crypto/schnorr/signature.js +20 -36
  92. package/dest/crypto/secp256k1-signer/utils.d.ts +12 -1
  93. package/dest/crypto/secp256k1-signer/utils.d.ts.map +1 -1
  94. package/dest/crypto/secp256k1-signer/utils.js +26 -0
  95. package/dest/crypto/sync/poseidon/index.d.ts +1 -2
  96. package/dest/crypto/sync/poseidon/index.d.ts.map +1 -1
  97. package/dest/crypto/sync/poseidon/index.js +0 -8
  98. package/dest/curves/bls12/field.d.ts +3 -3
  99. package/dest/curves/bls12/field.d.ts.map +1 -1
  100. package/dest/curves/bls12/field.js +6 -8
  101. package/dest/curves/bls12/point.d.ts +11 -2
  102. package/dest/curves/bls12/point.d.ts.map +1 -1
  103. package/dest/curves/bls12/point.js +3 -1
  104. package/dest/curves/bn254/field.d.ts +25 -19
  105. package/dest/curves/bn254/field.d.ts.map +1 -1
  106. package/dest/curves/bn254/field.js +36 -21
  107. package/dest/curves/grumpkin/point.d.ts +21 -26
  108. package/dest/curves/grumpkin/point.d.ts.map +1 -1
  109. package/dest/curves/grumpkin/point.js +29 -43
  110. package/dest/error/index.d.ts +4 -4
  111. package/dest/error/index.d.ts.map +1 -1
  112. package/dest/eth-address/index.d.ts +2 -2
  113. package/dest/eth-address/index.d.ts.map +1 -1
  114. package/dest/eth-address/index.js +4 -5
  115. package/dest/eth-signature/eth_signature.d.ts +6 -2
  116. package/dest/eth-signature/eth_signature.d.ts.map +1 -1
  117. package/dest/eth-signature/eth_signature.js +7 -2
  118. package/dest/fifo/fifo_frame_reader.d.ts +41 -0
  119. package/dest/fifo/fifo_frame_reader.d.ts.map +1 -0
  120. package/dest/fifo/fifo_frame_reader.js +74 -0
  121. package/dest/fifo/index.d.ts +2 -0
  122. package/dest/fifo/index.d.ts.map +1 -0
  123. package/dest/fifo/index.js +1 -0
  124. package/dest/fifo_set/fifo_set.d.ts +15 -0
  125. package/dest/fifo_set/fifo_set.d.ts.map +1 -0
  126. package/dest/fifo_set/fifo_set.js +39 -0
  127. package/dest/fifo_set/index.d.ts +2 -0
  128. package/dest/fifo_set/index.d.ts.map +1 -0
  129. package/dest/fifo_set/index.js +1 -0
  130. package/dest/jest/setup.js +28 -1
  131. package/dest/json-rpc/client/fetch.d.ts +1 -1
  132. package/dest/json-rpc/client/fetch.d.ts.map +1 -1
  133. package/dest/json-rpc/client/fetch.js +4 -3
  134. package/dest/json-rpc/client/safe_json_rpc_client.d.ts +2 -1
  135. package/dest/json-rpc/client/safe_json_rpc_client.d.ts.map +1 -1
  136. package/dest/json-rpc/client/safe_json_rpc_client.js +3 -3
  137. package/dest/json-rpc/client/undici.d.ts +1 -1
  138. package/dest/json-rpc/client/undici.d.ts.map +1 -1
  139. package/dest/json-rpc/client/undici.js +23 -4
  140. package/dest/json-rpc/fixtures/class_a.d.ts +3 -3
  141. package/dest/json-rpc/fixtures/class_a.d.ts.map +1 -1
  142. package/dest/json-rpc/fixtures/class_b.d.ts +3 -3
  143. package/dest/json-rpc/fixtures/class_b.d.ts.map +1 -1
  144. package/dest/json-rpc/fixtures/test_state.d.ts +4 -8
  145. package/dest/json-rpc/fixtures/test_state.d.ts.map +1 -1
  146. package/dest/json-rpc/fixtures/test_state.js +57 -17
  147. package/dest/json-rpc/server/api_key_auth.d.ts +19 -0
  148. package/dest/json-rpc/server/api_key_auth.d.ts.map +1 -0
  149. package/dest/json-rpc/server/api_key_auth.js +57 -0
  150. package/dest/json-rpc/server/index.d.ts +2 -1
  151. package/dest/json-rpc/server/index.d.ts.map +1 -1
  152. package/dest/json-rpc/server/index.js +1 -0
  153. package/dest/json-rpc/server/safe_json_rpc_server.d.ts +8 -3
  154. package/dest/json-rpc/server/safe_json_rpc_server.d.ts.map +1 -1
  155. package/dest/json-rpc/server/safe_json_rpc_server.js +28 -14
  156. package/dest/log/bigint-utils.d.ts +5 -0
  157. package/dest/log/bigint-utils.d.ts.map +1 -0
  158. package/dest/log/bigint-utils.js +21 -0
  159. package/dest/log/gcloud-logger-config.d.ts +1 -1
  160. package/dest/log/gcloud-logger-config.d.ts.map +1 -1
  161. package/dest/log/gcloud-logger-config.js +3 -0
  162. package/dest/log/libp2p_logger.d.ts +5 -2
  163. package/dest/log/libp2p_logger.d.ts.map +1 -1
  164. package/dest/log/libp2p_logger.js +14 -4
  165. package/dest/log/log-filters.d.ts +17 -4
  166. package/dest/log/log-filters.d.ts.map +1 -1
  167. package/dest/log/log-filters.js +26 -12
  168. package/dest/log/pino-logger-server.d.ts +9 -0
  169. package/dest/log/pino-logger-server.d.ts.map +1 -0
  170. package/dest/log/pino-logger-server.js +18 -0
  171. package/dest/log/pino-logger.d.ts +37 -8
  172. package/dest/log/pino-logger.d.ts.map +1 -1
  173. package/dest/log/pino-logger.js +138 -30
  174. package/dest/noir/noir_package_config.d.ts +19 -104
  175. package/dest/noir/noir_package_config.d.ts.map +1 -1
  176. package/dest/noir/noir_package_config.js +1 -1
  177. package/dest/queue/base_memory_queue.d.ts +2 -2
  178. package/dest/queue/base_memory_queue.d.ts.map +1 -1
  179. package/dest/queue/batch_queue.d.ts +1 -1
  180. package/dest/queue/batch_queue.d.ts.map +1 -1
  181. package/dest/queue/batch_queue.js +1 -0
  182. package/dest/queue/semaphore.d.ts +5 -1
  183. package/dest/queue/semaphore.d.ts.map +1 -1
  184. package/dest/retry/index.d.ts +22 -1
  185. package/dest/retry/index.d.ts.map +1 -1
  186. package/dest/retry/index.js +32 -0
  187. package/dest/schemas/api.d.ts +12 -10
  188. package/dest/schemas/api.d.ts.map +1 -1
  189. package/dest/schemas/api.js +7 -1
  190. package/dest/schemas/parse.d.ts +4 -4
  191. package/dest/schemas/parse.d.ts.map +1 -1
  192. package/dest/schemas/parse.js +6 -5
  193. package/dest/schemas/schemas.d.ts +15 -15
  194. package/dest/schemas/types.d.ts +3 -3
  195. package/dest/schemas/types.d.ts.map +1 -1
  196. package/dest/schemas/utils.d.ts +7 -11
  197. package/dest/schemas/utils.d.ts.map +1 -1
  198. package/dest/schemas/utils.js +2 -18
  199. package/dest/serialize/buffer_reader.d.ts +14 -4
  200. package/dest/serialize/buffer_reader.d.ts.map +1 -1
  201. package/dest/serialize/buffer_reader.js +26 -4
  202. package/dest/serialize/buffer_sink.d.ts +134 -0
  203. package/dest/serialize/buffer_sink.d.ts.map +1 -0
  204. package/dest/serialize/buffer_sink.js +297 -0
  205. package/dest/serialize/index.d.ts +2 -1
  206. package/dest/serialize/index.d.ts.map +1 -1
  207. package/dest/serialize/index.js +1 -0
  208. package/dest/serialize/serialize.d.ts +19 -1
  209. package/dest/serialize/serialize.d.ts.map +1 -1
  210. package/dest/serialize/serialize.js +31 -0
  211. package/dest/sleep/index.d.ts +2 -1
  212. package/dest/sleep/index.d.ts.map +1 -1
  213. package/dest/sleep/index.js +10 -1
  214. package/dest/string/index.js +1 -1
  215. package/dest/timer/date.d.ts +25 -1
  216. package/dest/timer/date.d.ts.map +1 -1
  217. package/dest/timer/date.js +33 -0
  218. package/dest/timer/index.d.ts +2 -2
  219. package/dest/timer/index.d.ts.map +1 -1
  220. package/dest/timer/index.js +1 -1
  221. package/dest/timer/timeout.d.ts +3 -1
  222. package/dest/timer/timeout.d.ts.map +1 -1
  223. package/dest/timer/timeout.js +26 -0
  224. package/dest/transport/dispatch/create_dispatch_proxy.d.ts +11 -2
  225. package/dest/transport/dispatch/create_dispatch_proxy.d.ts.map +1 -1
  226. package/dest/transport/index.d.ts +1 -2
  227. package/dest/transport/index.d.ts.map +1 -1
  228. package/dest/transport/index.js +0 -1
  229. package/dest/transport/transport_client.js +2 -2
  230. package/dest/trees/balanced_merkle_tree_root.d.ts +16 -0
  231. package/dest/trees/balanced_merkle_tree_root.d.ts.map +1 -0
  232. package/dest/trees/{balanced_merkle_tree.js → balanced_merkle_tree_root.js} +3 -19
  233. package/dest/trees/hasher.d.ts +4 -1
  234. package/dest/trees/hasher.d.ts.map +1 -1
  235. package/dest/trees/hasher.js +10 -5
  236. package/dest/trees/index.d.ts +4 -4
  237. package/dest/trees/index.d.ts.map +1 -1
  238. package/dest/trees/index.js +3 -3
  239. package/dest/trees/indexed_merkle_tree_calculator.d.ts +1 -1
  240. package/dest/trees/indexed_merkle_tree_calculator.d.ts.map +1 -1
  241. package/dest/trees/indexed_merkle_tree_calculator.js +5 -1
  242. package/dest/trees/membership_witness.d.ts +12 -2
  243. package/dest/trees/membership_witness.d.ts.map +1 -1
  244. package/dest/trees/membership_witness.js +9 -0
  245. package/dest/trees/merkle_tree_calculator.d.ts +4 -2
  246. package/dest/trees/merkle_tree_calculator.d.ts.map +1 -1
  247. package/dest/trees/merkle_tree_calculator.js +1 -5
  248. package/dest/trees/sibling_path.d.ts +6 -4
  249. package/dest/trees/sibling_path.d.ts.map +1 -1
  250. package/dest/trees/sibling_path.js +10 -8
  251. package/dest/trees/unbalanced_merkle_tree_calculator.d.ts +2 -3
  252. package/dest/trees/unbalanced_merkle_tree_calculator.d.ts.map +1 -1
  253. package/dest/trees/unbalanced_merkle_tree_calculator.js +1 -5
  254. package/dest/trees/{unbalanced_merkle_tree.d.ts → unbalanced_merkle_tree_root.d.ts} +4 -7
  255. package/dest/trees/unbalanced_merkle_tree_root.d.ts.map +1 -0
  256. package/dest/trees/{unbalanced_merkle_tree.js → unbalanced_merkle_tree_root.js} +12 -51
  257. package/dest/trees/unbalanced_tree_store.d.ts +5 -1
  258. package/dest/trees/unbalanced_tree_store.d.ts.map +1 -1
  259. package/dest/trees/unbalanced_tree_store.js +49 -1
  260. package/dest/types/index.d.ts +12 -2
  261. package/dest/types/index.d.ts.map +1 -1
  262. package/dest/types/index.js +3 -0
  263. package/package.json +29 -6
  264. package/src/array/index.ts +1 -0
  265. package/src/array/sorted_array.ts +138 -0
  266. package/src/bigint-buffer/index.ts +6 -1
  267. package/src/branded-types/block_number.ts +25 -2
  268. package/src/branded-types/buffer32_hash.ts +38 -0
  269. package/src/branded-types/checkpoint_number.ts +37 -7
  270. package/src/branded-types/epoch.ts +1 -1
  271. package/src/branded-types/index.ts +3 -1
  272. package/src/branded-types/index_within_checkpoint.ts +88 -0
  273. package/src/branded-types/slot.ts +6 -1
  274. package/src/buffer/buffer16.ts +3 -0
  275. package/src/buffer/buffer32.ts +39 -68
  276. package/src/buffer/index.ts +1 -0
  277. package/src/buffer/utils.ts +8 -0
  278. package/src/collection/array.ts +86 -0
  279. package/src/collection/index.ts +2 -0
  280. package/src/collection/lru_map.ts +143 -0
  281. package/src/collection/lru_set.ts +115 -0
  282. package/src/committable/committable.ts +1 -1
  283. package/src/config/env_var.ts +96 -30
  284. package/src/config/index.ts +134 -99
  285. package/src/config/network_config.ts +3 -0
  286. package/src/config/network_name.ts +4 -4
  287. package/src/config/parse-env.ts +4 -0
  288. package/src/config/secret_value.ts +1 -1
  289. package/src/crypto/aes128/index.ts +11 -2
  290. package/src/crypto/bls/bn254_keystore.ts +0 -23
  291. package/src/crypto/poseidon/index.ts +42 -44
  292. package/src/crypto/random/randomness_singleton.ts +6 -4
  293. package/src/crypto/schnorr/index.ts +9 -8
  294. package/src/crypto/schnorr/signature.ts +17 -46
  295. package/src/crypto/secp256k1-signer/utils.ts +32 -0
  296. package/src/crypto/sync/poseidon/index.ts +0 -9
  297. package/src/curves/bls12/field.ts +0 -7
  298. package/src/curves/bn254/field.ts +45 -36
  299. package/src/curves/grumpkin/point.ts +23 -40
  300. package/src/eth-address/index.ts +1 -5
  301. package/src/eth-signature/eth_signature.ts +7 -1
  302. package/src/fifo/fifo_frame_reader.ts +98 -0
  303. package/src/fifo/index.ts +1 -0
  304. package/src/fifo_set/fifo_set.ts +52 -0
  305. package/src/fifo_set/index.ts +1 -0
  306. package/src/jest/setup.mjs +31 -1
  307. package/src/json-rpc/client/fetch.ts +4 -3
  308. package/src/json-rpc/client/safe_json_rpc_client.ts +4 -2
  309. package/src/json-rpc/client/undici.ts +23 -3
  310. package/src/json-rpc/fixtures/test_state.ts +10 -10
  311. package/src/json-rpc/server/api_key_auth.ts +63 -0
  312. package/src/json-rpc/server/index.ts +1 -0
  313. package/src/json-rpc/server/safe_json_rpc_server.ts +32 -14
  314. package/src/log/bigint-utils.ts +25 -0
  315. package/src/log/gcloud-logger-config.ts +5 -0
  316. package/src/log/libp2p_logger.ts +12 -5
  317. package/src/log/log-filters.ts +29 -11
  318. package/src/log/pino-logger-server.ts +25 -0
  319. package/src/log/pino-logger.ts +162 -40
  320. package/src/noir/noir_package_config.ts +32 -20
  321. package/src/queue/base_memory_queue.ts +1 -1
  322. package/src/queue/batch_queue.ts +1 -0
  323. package/src/queue/semaphore.ts +5 -0
  324. package/src/retry/index.ts +48 -0
  325. package/src/schemas/api.ts +25 -25
  326. package/src/schemas/parse.ts +9 -6
  327. package/src/schemas/schemas.ts +4 -4
  328. package/src/schemas/types.ts +2 -2
  329. package/src/schemas/utils.ts +4 -38
  330. package/src/serialize/buffer_reader.ts +36 -9
  331. package/src/serialize/buffer_sink.ts +350 -0
  332. package/src/serialize/index.ts +1 -0
  333. package/src/serialize/serialize.ts +32 -0
  334. package/src/sleep/index.ts +10 -1
  335. package/src/string/index.ts +1 -1
  336. package/src/timer/date.ts +48 -0
  337. package/src/timer/index.ts +1 -1
  338. package/src/timer/timeout.ts +31 -0
  339. package/src/transport/dispatch/create_dispatch_proxy.ts +11 -1
  340. package/src/transport/index.ts +0 -1
  341. package/src/transport/transport_client.ts +2 -2
  342. package/src/trees/{balanced_merkle_tree.ts → balanced_merkle_tree_root.ts} +3 -22
  343. package/src/trees/hasher.ts +12 -0
  344. package/src/trees/index.ts +3 -3
  345. package/src/trees/indexed_merkle_tree_calculator.ts +5 -1
  346. package/src/trees/membership_witness.ts +8 -0
  347. package/src/trees/merkle_tree_calculator.ts +4 -10
  348. package/src/trees/sibling_path.ts +11 -6
  349. package/src/trees/unbalanced_merkle_tree_calculator.ts +1 -12
  350. package/src/trees/{unbalanced_merkle_tree.ts → unbalanced_merkle_tree_root.ts} +17 -64
  351. package/src/trees/unbalanced_tree_store.ts +57 -2
  352. package/src/types/index.ts +20 -1
  353. package/dest/crypto/serialize.d.ts +0 -51
  354. package/dest/crypto/serialize.d.ts.map +0 -1
  355. package/dest/crypto/serialize.js +0 -68
  356. package/dest/json-rpc/server/telemetry.d.ts +0 -2
  357. package/dest/json-rpc/server/telemetry.d.ts.map +0 -1
  358. package/dest/json-rpc/server/telemetry.js +0 -0
  359. package/dest/transport/dispatch/create_dispatch_fn.d.ts +0 -25
  360. package/dest/transport/dispatch/create_dispatch_fn.d.ts.map +0 -1
  361. package/dest/transport/dispatch/create_dispatch_fn.js +0 -17
  362. package/dest/trees/balanced_merkle_tree.d.ts +0 -22
  363. package/dest/trees/balanced_merkle_tree.d.ts.map +0 -1
  364. package/dest/trees/unbalanced_merkle_tree.d.ts.map +0 -1
  365. package/src/crypto/serialize.ts +0 -85
  366. package/src/json-rpc/server/telemetry.ts +0 -0
  367. package/src/transport/dispatch/create_dispatch_fn.ts +0 -35
@@ -1,85 +0,0 @@
1
- // TODO find a new home for this as we move to external bb.js
2
- // See https://github.com/AztecProtocol/aztec-packages/issues/782
3
- import { Buffer } from 'buffer';
4
-
5
- /**
6
- * For serializing an array of fixed length buffers.
7
- * TODO move to foundation pkg.
8
- * @param arr - Array of bufffers.
9
- * @returns The serialized buffers.
10
- */
11
- export function serializeBufferArrayToVector(arr: Buffer[]) {
12
- const lengthBuf = Buffer.alloc(4);
13
- lengthBuf.writeUInt32BE(arr.length, 0);
14
- return Buffer.concat([lengthBuf, ...arr]);
15
- }
16
-
17
- /**
18
- * Helper function for deserializeArrayFromVector.
19
- */
20
- type DeserializeFn<T> = (
21
- buf: Buffer,
22
- offset: number,
23
- ) => {
24
- /**
25
- * The deserialized type.
26
- */
27
- elem: T;
28
- /**
29
- * How many bytes to advance by.
30
- */
31
- adv: number;
32
- };
33
-
34
- /**
35
- * For deserializing numbers to 32-bit little-endian form.
36
- * TODO move to foundation pkg.
37
- * @param n - The number.
38
- * @returns The endian-corrected number.
39
- */
40
- export function deserializeArrayFromVector<T>(deserialize: DeserializeFn<T>, vector: Buffer, offset = 0) {
41
- let pos = offset;
42
- const size = vector.readUInt32BE(pos);
43
- pos += 4;
44
- const arr = new Array<T>(size);
45
- for (let i = 0; i < size; ++i) {
46
- const { elem, adv } = deserialize(vector, pos);
47
- pos += adv;
48
- arr[i] = elem;
49
- }
50
- return { elem: arr, adv: pos - offset };
51
- }
52
-
53
- /**
54
- * For serializing numbers to 32 bit little-endian form.
55
- * TODO move to foundation pkg.
56
- * @param n - The number.
57
- * @returns The endian-corrected number.
58
- */
59
- export function numToUInt32LE(n: number, bufferSize = 4) {
60
- const buf = Buffer.alloc(bufferSize);
61
- buf.writeUInt32LE(n, bufferSize - 4);
62
- return buf;
63
- }
64
-
65
- /**
66
- * Deserialize the 256-bit number at address `offset`.
67
- * @param buf - The buffer.
68
- * @param offset - The address.
69
- * @returns The derserialized 256-bit field.
70
- */
71
- export function deserializeField(buf: Buffer, offset = 0) {
72
- const adv = 32;
73
- return { elem: buf.slice(offset, offset + adv), adv };
74
- }
75
-
76
- export function concatenateUint8Arrays(arrayOfUint8Arrays: Uint8Array[]) {
77
- const totalLength = arrayOfUint8Arrays.reduce((prev, curr) => prev + curr.length, 0);
78
- const result = new Uint8Array(totalLength);
79
- let length = 0;
80
- for (const array of arrayOfUint8Arrays) {
81
- result.set(array, length);
82
- length += array.length;
83
- }
84
- return result;
85
- }
File without changes
@@ -1,35 +0,0 @@
1
- import { format } from 'util';
2
-
3
- import { createLogger } from '../../log/index.js';
4
-
5
- /**
6
- * Represents a message object for dispatching function calls.
7
- * Contains the function name ('fn') and an array of arguments ('args') required to call the target method.
8
- */
9
- export interface DispatchMsg {
10
- /**
11
- * Name of the target method to be called.
12
- */
13
- fn: string;
14
- /**
15
- * An array of arguments to be passed to the target method.
16
- */
17
- args: any[];
18
- }
19
-
20
- /**
21
- * Creates a dispatch function that calls the target's specified method with provided arguments.
22
- * The created dispatch function takes a DispatchMsg object as input, which contains the name of
23
- * the method to be called ('fn') and an array of arguments to be passed to the method ('args').
24
- *
25
- * @param targetFn - A function that returns the target object containing the methods to be dispatched.
26
- * @param log - Optional logging function for debugging purposes.
27
- * @returns A dispatch function that accepts a DispatchMsg object and calls the target's method with provided arguments.
28
- */
29
- export function createDispatchFn(targetFn: () => any, log = createLogger('foundation:dispatch')) {
30
- return async ({ fn, args }: DispatchMsg) => {
31
- const target = targetFn();
32
- log.debug(format(`dispatching to ${target}: ${fn}`, args));
33
- return await target[fn](...args);
34
- };
35
- }