@aztec/foundation 0.0.1-commit.b655e406 → 0.0.1-commit.b8a057fa

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 (600) hide show
  1. package/dest/array/array.d.ts +1 -9
  2. package/dest/array/array.d.ts.map +1 -1
  3. package/dest/array/array.js +0 -11
  4. package/dest/array/index.d.ts +2 -1
  5. package/dest/array/index.d.ts.map +1 -1
  6. package/dest/array/index.js +1 -0
  7. package/dest/array/sorted_array.d.ts +15 -0
  8. package/dest/array/sorted_array.d.ts.map +1 -0
  9. package/dest/array/sorted_array.js +109 -0
  10. package/dest/async-map/index.d.ts +1 -1
  11. package/dest/async-pool/index.d.ts +1 -1
  12. package/dest/bigint/index.d.ts +1 -1
  13. package/dest/bigint-buffer/index.d.ts +1 -1
  14. package/dest/bigint-buffer/index.d.ts.map +1 -1
  15. package/dest/bigint-buffer/index.js +6 -1
  16. package/dest/branded-types/block_number.d.ts +56 -0
  17. package/dest/branded-types/block_number.d.ts.map +1 -0
  18. package/dest/branded-types/block_number.js +89 -0
  19. package/dest/branded-types/buffer32_hash.d.ts +27 -0
  20. package/dest/branded-types/buffer32_hash.d.ts.map +1 -0
  21. package/dest/branded-types/buffer32_hash.js +12 -0
  22. package/dest/branded-types/checkpoint_number.d.ts +60 -0
  23. package/dest/branded-types/checkpoint_number.d.ts.map +1 -0
  24. package/dest/branded-types/checkpoint_number.js +88 -0
  25. package/dest/branded-types/epoch.d.ts +42 -0
  26. package/dest/branded-types/epoch.d.ts.map +1 -0
  27. package/dest/branded-types/epoch.js +59 -0
  28. package/dest/branded-types/index.d.ts +8 -0
  29. package/dest/branded-types/index.d.ts.map +1 -0
  30. package/dest/branded-types/index.js +6 -0
  31. package/dest/branded-types/index_within_checkpoint.d.ts +42 -0
  32. package/dest/branded-types/index_within_checkpoint.d.ts.map +1 -0
  33. package/dest/branded-types/index_within_checkpoint.js +59 -0
  34. package/dest/branded-types/slot.d.ts +45 -0
  35. package/dest/branded-types/slot.d.ts.map +1 -0
  36. package/dest/branded-types/slot.js +62 -0
  37. package/dest/branded-types/types.d.ts +5 -0
  38. package/dest/branded-types/types.d.ts.map +1 -0
  39. package/dest/branded-types/types.js +1 -0
  40. package/dest/buffer/buffer16.d.ts +4 -2
  41. package/dest/buffer/buffer16.d.ts.map +1 -1
  42. package/dest/buffer/buffer16.js +4 -2
  43. package/dest/buffer/buffer32.d.ts +29 -62
  44. package/dest/buffer/buffer32.d.ts.map +1 -1
  45. package/dest/buffer/buffer32.js +33 -65
  46. package/dest/buffer/index.d.ts +2 -1
  47. package/dest/buffer/index.d.ts.map +1 -1
  48. package/dest/buffer/index.js +1 -0
  49. package/dest/buffer/utils.d.ts +3 -0
  50. package/dest/buffer/utils.d.ts.map +1 -0
  51. package/dest/buffer/utils.js +7 -0
  52. package/dest/collection/array.d.ts +22 -1
  53. package/dest/collection/array.d.ts.map +1 -1
  54. package/dest/collection/array.js +84 -0
  55. package/dest/collection/index.d.ts +3 -1
  56. package/dest/collection/index.d.ts.map +1 -1
  57. package/dest/collection/index.js +2 -0
  58. package/dest/collection/lru_map.d.ts +41 -0
  59. package/dest/collection/lru_map.d.ts.map +1 -0
  60. package/dest/collection/lru_map.js +119 -0
  61. package/dest/collection/lru_set.d.ts +35 -0
  62. package/dest/collection/lru_set.d.ts.map +1 -0
  63. package/dest/collection/lru_set.js +95 -0
  64. package/dest/collection/object.d.ts +1 -1
  65. package/dest/committable/committable.d.ts +1 -1
  66. package/dest/committable/committable.d.ts.map +1 -1
  67. package/dest/committable/committable.js +1 -1
  68. package/dest/committable/index.d.ts +1 -1
  69. package/dest/config/env_var.d.ts +2 -2
  70. package/dest/config/env_var.d.ts.map +1 -1
  71. package/dest/config/index.d.ts +79 -38
  72. package/dest/config/index.d.ts.map +1 -1
  73. package/dest/config/index.js +103 -64
  74. package/dest/config/network_config.d.ts +17 -31
  75. package/dest/config/network_config.d.ts.map +1 -1
  76. package/dest/config/network_config.js +6 -1
  77. package/dest/config/network_name.d.ts +2 -2
  78. package/dest/config/network_name.d.ts.map +1 -1
  79. package/dest/config/network_name.js +3 -3
  80. package/dest/config/parse-env.d.ts +3 -0
  81. package/dest/config/parse-env.d.ts.map +1 -0
  82. package/dest/config/parse-env.js +7 -0
  83. package/dest/config/secret_value.d.ts +2 -2
  84. package/dest/config/secret_value.d.ts.map +1 -1
  85. package/dest/config/secret_value.js +3 -1
  86. package/dest/crypto/aes128/index.d.ts +2 -1
  87. package/dest/crypto/aes128/index.d.ts.map +1 -1
  88. package/dest/crypto/aes128/index.js +13 -8
  89. package/dest/crypto/bls/bn254_keystore.d.ts +10 -177
  90. package/dest/crypto/bls/bn254_keystore.d.ts.map +1 -1
  91. package/dest/crypto/bls/bn254_keystore.js +23 -35
  92. package/dest/crypto/bls/index.d.ts +1 -1
  93. package/dest/crypto/bls/index.js +1 -1
  94. package/dest/crypto/bn254/index.d.ts +35 -51
  95. package/dest/crypto/bn254/index.d.ts.map +1 -1
  96. package/dest/crypto/bn254/index.js +51 -137
  97. package/dest/crypto/ecdsa/index.d.ts +1 -1
  98. package/dest/crypto/ecdsa/index.d.ts.map +1 -1
  99. package/dest/crypto/ecdsa/index.js +4 -12
  100. package/dest/crypto/ecdsa/signature.d.ts +2 -2
  101. package/dest/crypto/ecdsa/signature.d.ts.map +1 -1
  102. package/dest/crypto/ecdsa/signature.js +2 -2
  103. package/dest/crypto/grumpkin/index.d.ts +4 -2
  104. package/dest/crypto/grumpkin/index.d.ts.map +1 -1
  105. package/dest/crypto/grumpkin/index.js +7 -16
  106. package/dest/crypto/keccak/index.d.ts +1 -1
  107. package/dest/crypto/keys/index.d.ts +4 -3
  108. package/dest/crypto/keys/index.d.ts.map +1 -1
  109. package/dest/crypto/keys/index.js +32 -10
  110. package/dest/crypto/pedersen/index.d.ts +1 -1
  111. package/dest/crypto/pedersen/pedersen.noble.d.ts +1 -1
  112. package/dest/crypto/pedersen/pedersen.wasm.d.ts +2 -2
  113. package/dest/crypto/pedersen/pedersen.wasm.d.ts.map +1 -1
  114. package/dest/crypto/pedersen/pedersen.wasm.js +4 -10
  115. package/dest/crypto/poseidon/index.d.ts +2 -3
  116. package/dest/crypto/poseidon/index.d.ts.map +1 -1
  117. package/dest/crypto/poseidon/index.js +41 -53
  118. package/dest/crypto/random/index.d.ts +1 -1
  119. package/dest/crypto/random/index.d.ts.map +1 -1
  120. package/dest/crypto/random/randomness_singleton.d.ts +4 -3
  121. package/dest/crypto/random/randomness_singleton.d.ts.map +1 -1
  122. package/dest/crypto/random/randomness_singleton.js +5 -5
  123. package/dest/crypto/schnorr/index.d.ts +10 -8
  124. package/dest/crypto/schnorr/index.d.ts.map +1 -1
  125. package/dest/crypto/schnorr/index.js +10 -16
  126. package/dest/crypto/schnorr/signature.d.ts +10 -30
  127. package/dest/crypto/schnorr/signature.d.ts.map +1 -1
  128. package/dest/crypto/schnorr/signature.js +21 -37
  129. package/dest/crypto/secp256k1/index.d.ts +1 -1
  130. package/dest/crypto/secp256k1/index.d.ts.map +1 -1
  131. package/dest/crypto/secp256k1/index.js +3 -9
  132. package/dest/crypto/secp256k1-signer/index.d.ts +1 -1
  133. package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts +1 -1
  134. package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts.map +1 -1
  135. package/dest/crypto/secp256k1-signer/utils.d.ts +12 -1
  136. package/dest/crypto/secp256k1-signer/utils.d.ts.map +1 -1
  137. package/dest/crypto/secp256k1-signer/utils.js +26 -0
  138. package/dest/crypto/sha256/index.d.ts +2 -2
  139. package/dest/crypto/sha256/index.d.ts.map +1 -1
  140. package/dest/crypto/sha256/index.js +1 -1
  141. package/dest/crypto/sha512/index.d.ts +3 -3
  142. package/dest/crypto/sha512/index.d.ts.map +1 -1
  143. package/dest/crypto/sha512/index.js +1 -1
  144. package/dest/crypto/signature/index.d.ts +2 -2
  145. package/dest/crypto/signature/index.d.ts.map +1 -1
  146. package/dest/crypto/sync/index.d.ts +1 -1
  147. package/dest/crypto/sync/index.js +1 -3
  148. package/dest/crypto/sync/pedersen/index.d.ts +2 -2
  149. package/dest/crypto/sync/pedersen/index.d.ts.map +1 -1
  150. package/dest/crypto/sync/pedersen/index.js +1 -1
  151. package/dest/crypto/sync/poseidon/index.d.ts +2 -3
  152. package/dest/crypto/sync/poseidon/index.d.ts.map +1 -1
  153. package/dest/crypto/sync/poseidon/index.js +1 -9
  154. package/dest/{fields/bls12_fields.d.ts → curves/bls12/field.d.ts} +5 -5
  155. package/dest/curves/bls12/field.d.ts.map +1 -0
  156. package/dest/{fields/bls12_fields.js → curves/bls12/field.js} +11 -13
  157. package/dest/curves/bls12/index.d.ts +3 -0
  158. package/dest/curves/bls12/index.d.ts.map +1 -0
  159. package/dest/curves/bls12/index.js +2 -0
  160. package/dest/{fields/bls12_point.d.ts → curves/bls12/point.d.ts} +5 -5
  161. package/dest/curves/bls12/point.d.ts.map +1 -0
  162. package/dest/{fields/bls12_point.js → curves/bls12/point.js} +10 -8
  163. package/dest/curves/bn254/field.d.ts +185 -0
  164. package/dest/curves/bn254/field.d.ts.map +1 -0
  165. package/dest/{fields/fields.js → curves/bn254/field.js} +70 -61
  166. package/dest/curves/bn254/index.d.ts +3 -0
  167. package/dest/curves/bn254/index.d.ts.map +1 -0
  168. package/dest/curves/bn254/index.js +2 -0
  169. package/dest/curves/bn254/point.d.ts +54 -0
  170. package/dest/curves/bn254/point.d.ts.map +1 -0
  171. package/dest/curves/bn254/point.js +143 -0
  172. package/dest/curves/grumpkin/index.d.ts +10 -0
  173. package/dest/curves/grumpkin/index.d.ts.map +1 -0
  174. package/dest/curves/grumpkin/index.js +3 -0
  175. package/dest/{fields → curves/grumpkin}/point.d.ts +24 -29
  176. package/dest/curves/grumpkin/point.d.ts.map +1 -0
  177. package/dest/{fields → curves/grumpkin}/point.js +51 -48
  178. package/dest/decorators/index.d.ts +1 -1
  179. package/dest/decorators/memoize.d.ts +1 -1
  180. package/dest/decorators/memoize.d.ts.map +1 -1
  181. package/dest/error/index.d.ts +1 -1
  182. package/dest/eth-address/index.d.ts +13 -3
  183. package/dest/eth-address/index.d.ts.map +1 -1
  184. package/dest/eth-address/index.js +27 -6
  185. package/dest/eth-signature/eth_signature.d.ts +3 -2
  186. package/dest/eth-signature/eth_signature.d.ts.map +1 -1
  187. package/dest/eth-signature/eth_signature.js +7 -2
  188. package/dest/eth-signature/index.d.ts +1 -1
  189. package/dest/fifo/fifo_frame_reader.d.ts +41 -0
  190. package/dest/fifo/fifo_frame_reader.d.ts.map +1 -0
  191. package/dest/fifo/fifo_frame_reader.js +91 -0
  192. package/dest/fifo/index.d.ts +2 -0
  193. package/dest/fifo/index.d.ts.map +1 -0
  194. package/dest/fifo/index.js +1 -0
  195. package/dest/fifo_set/fifo_set.d.ts +15 -0
  196. package/dest/fifo_set/fifo_set.d.ts.map +1 -0
  197. package/dest/fifo_set/fifo_set.js +39 -0
  198. package/dest/fifo_set/index.d.ts +2 -0
  199. package/dest/fifo_set/index.d.ts.map +1 -0
  200. package/dest/fifo_set/index.js +1 -0
  201. package/dest/fs/index.d.ts +1 -1
  202. package/dest/fs/run_in_dir.d.ts +1 -1
  203. package/dest/fs/try_rm_dir.d.ts +1 -1
  204. package/dest/iterable/all.d.ts +1 -1
  205. package/dest/iterable/filter.d.ts +1 -1
  206. package/dest/iterable/index.d.ts +1 -1
  207. package/dest/iterable/isAsyncIt.d.ts +1 -1
  208. package/dest/iterable/map.d.ts +1 -1
  209. package/dest/iterable/peek.d.ts +1 -1
  210. package/dest/iterable/sort.d.ts +1 -1
  211. package/dest/iterable/take.d.ts +1 -1
  212. package/dest/iterable/toArray.d.ts +1 -1
  213. package/dest/iterator/filter.d.ts +3 -0
  214. package/dest/iterator/filter.d.ts.map +1 -0
  215. package/dest/iterator/filter.js +7 -0
  216. package/dest/iterator/index.d.ts +2 -0
  217. package/dest/iterator/index.d.ts.map +1 -0
  218. package/dest/iterator/index.js +1 -0
  219. package/dest/jest/setup.js +28 -1
  220. package/dest/json-rpc/client/fetch.d.ts +1 -1
  221. package/dest/json-rpc/client/fetch.d.ts.map +1 -1
  222. package/dest/json-rpc/client/fetch.js +4 -3
  223. package/dest/json-rpc/client/index.d.ts +1 -1
  224. package/dest/json-rpc/client/safe_json_rpc_client.d.ts +2 -1
  225. package/dest/json-rpc/client/safe_json_rpc_client.d.ts.map +1 -1
  226. package/dest/json-rpc/client/safe_json_rpc_client.js +3 -3
  227. package/dest/json-rpc/client/undici.d.ts +1 -1
  228. package/dest/json-rpc/client/undici.d.ts.map +1 -1
  229. package/dest/json-rpc/client/undici.js +23 -4
  230. package/dest/json-rpc/convert.d.ts +1 -1
  231. package/dest/json-rpc/errors.d.ts +1 -1
  232. package/dest/json-rpc/errors.d.ts.map +1 -1
  233. package/dest/json-rpc/fixtures/class_a.d.ts +1 -1
  234. package/dest/json-rpc/fixtures/class_a.d.ts.map +1 -1
  235. package/dest/json-rpc/fixtures/class_b.d.ts +1 -1
  236. package/dest/json-rpc/fixtures/class_b.d.ts.map +1 -1
  237. package/dest/json-rpc/fixtures/test_state.d.ts +4 -8
  238. package/dest/json-rpc/fixtures/test_state.d.ts.map +1 -1
  239. package/dest/json-rpc/fixtures/test_state.js +57 -17
  240. package/dest/json-rpc/index.d.ts +1 -1
  241. package/dest/json-rpc/js_utils.d.ts +1 -1
  242. package/dest/json-rpc/js_utils.d.ts.map +1 -1
  243. package/dest/json-rpc/server/api_key_auth.d.ts +19 -0
  244. package/dest/json-rpc/server/api_key_auth.d.ts.map +1 -0
  245. package/dest/json-rpc/server/api_key_auth.js +57 -0
  246. package/dest/json-rpc/server/index.d.ts +2 -1
  247. package/dest/json-rpc/server/index.d.ts.map +1 -1
  248. package/dest/json-rpc/server/index.js +1 -0
  249. package/dest/json-rpc/server/safe_json_rpc_server.d.ts +8 -3
  250. package/dest/json-rpc/server/safe_json_rpc_server.d.ts.map +1 -1
  251. package/dest/json-rpc/server/safe_json_rpc_server.js +28 -14
  252. package/dest/json-rpc/test/index.d.ts +1 -1
  253. package/dest/json-rpc/test/integration.d.ts +1 -1
  254. package/dest/log/bigint-utils.d.ts +5 -0
  255. package/dest/log/bigint-utils.d.ts.map +1 -0
  256. package/dest/log/bigint-utils.js +21 -0
  257. package/dest/log/console.d.ts +1 -1
  258. package/dest/log/gcloud-logger-config.d.ts +1 -1
  259. package/dest/log/gcloud-logger-config.d.ts.map +1 -1
  260. package/dest/log/gcloud-logger-config.js +3 -0
  261. package/dest/log/index.d.ts +1 -1
  262. package/dest/log/libp2p_logger.d.ts +5 -2
  263. package/dest/log/libp2p_logger.d.ts.map +1 -1
  264. package/dest/log/libp2p_logger.js +14 -4
  265. package/dest/log/log-filters.d.ts +17 -4
  266. package/dest/log/log-filters.d.ts.map +1 -1
  267. package/dest/log/log-filters.js +26 -12
  268. package/dest/log/log-levels.d.ts +1 -1
  269. package/dest/log/log_fn.d.ts +1 -1
  270. package/dest/log/noir_debug_log_util.d.ts +1 -1
  271. package/dest/log/pino-logger-server.d.ts +9 -0
  272. package/dest/log/pino-logger-server.d.ts.map +1 -0
  273. package/dest/log/pino-logger-server.js +18 -0
  274. package/dest/log/pino-logger.d.ts +38 -9
  275. package/dest/log/pino-logger.d.ts.map +1 -1
  276. package/dest/log/pino-logger.js +138 -30
  277. package/dest/message/index.d.ts +1 -1
  278. package/dest/message/index.d.ts.map +1 -1
  279. package/dest/mutex/index.d.ts +1 -1
  280. package/dest/mutex/index.d.ts.map +1 -1
  281. package/dest/mutex/mutex_database.d.ts +1 -1
  282. package/dest/noir/index.d.ts +1 -1
  283. package/dest/noir/noir_package_config.d.ts +19 -104
  284. package/dest/noir/noir_package_config.d.ts.map +1 -1
  285. package/dest/noir/noir_package_config.js +1 -1
  286. package/dest/number/index.d.ts +1 -1
  287. package/dest/profiler/index.d.ts +1 -1
  288. package/dest/profiler/profiler.d.ts +1 -1
  289. package/dest/promise/index.d.ts +1 -1
  290. package/dest/promise/running-promise.d.ts +5 -4
  291. package/dest/promise/running-promise.d.ts.map +1 -1
  292. package/dest/promise/running-promise.js +7 -3
  293. package/dest/promise/utils.d.ts +1 -1
  294. package/dest/queue/base_memory_queue.d.ts +2 -2
  295. package/dest/queue/base_memory_queue.d.ts.map +1 -1
  296. package/dest/queue/batch_queue.d.ts +1 -1
  297. package/dest/queue/batch_queue.d.ts.map +1 -1
  298. package/dest/queue/batch_queue.js +1 -0
  299. package/dest/queue/bounded_serial_queue.d.ts +1 -1
  300. package/dest/queue/bounded_serial_queue.d.ts.map +1 -1
  301. package/dest/queue/fifo_memory_queue.d.ts +1 -1
  302. package/dest/queue/fifo_memory_queue.d.ts.map +1 -1
  303. package/dest/queue/index.d.ts +1 -1
  304. package/dest/queue/priority_memory_queue.d.ts +1 -1
  305. package/dest/queue/priority_memory_queue.d.ts.map +1 -1
  306. package/dest/queue/priority_queue.d.ts +1 -1
  307. package/dest/queue/priority_queue.d.ts.map +1 -1
  308. package/dest/queue/semaphore.d.ts +5 -1
  309. package/dest/queue/semaphore.d.ts.map +1 -1
  310. package/dest/queue/serial_queue.d.ts +1 -1
  311. package/dest/queue/serial_queue.d.ts.map +1 -1
  312. package/dest/retry/index.d.ts +41 -3
  313. package/dest/retry/index.d.ts.map +1 -1
  314. package/dest/retry/index.js +55 -2
  315. package/dest/running-promise/index.d.ts +1 -1
  316. package/dest/schemas/api.d.ts +12 -10
  317. package/dest/schemas/api.d.ts.map +1 -1
  318. package/dest/schemas/api.js +7 -1
  319. package/dest/schemas/index.d.ts +1 -1
  320. package/dest/schemas/parse.d.ts +4 -4
  321. package/dest/schemas/parse.d.ts.map +1 -1
  322. package/dest/schemas/parse.js +6 -5
  323. package/dest/schemas/schemas.d.ts +26 -28
  324. package/dest/schemas/schemas.d.ts.map +1 -1
  325. package/dest/schemas/schemas.js +14 -10
  326. package/dest/schemas/types.d.ts +32 -2
  327. package/dest/schemas/types.d.ts.map +1 -1
  328. package/dest/schemas/types.js +25 -1
  329. package/dest/schemas/utils.d.ts +10 -14
  330. package/dest/schemas/utils.d.ts.map +1 -1
  331. package/dest/schemas/utils.js +17 -23
  332. package/dest/serialize/buffer_reader.d.ts +14 -4
  333. package/dest/serialize/buffer_reader.d.ts.map +1 -1
  334. package/dest/serialize/buffer_reader.js +26 -4
  335. package/dest/serialize/buffer_sink.d.ts +134 -0
  336. package/dest/serialize/buffer_sink.d.ts.map +1 -0
  337. package/dest/serialize/buffer_sink.js +297 -0
  338. package/dest/serialize/field_reader.d.ts +2 -2
  339. package/dest/serialize/field_reader.d.ts.map +1 -1
  340. package/dest/serialize/field_reader.js +1 -1
  341. package/dest/serialize/free_funcs.d.ts +2 -2
  342. package/dest/serialize/free_funcs.d.ts.map +1 -1
  343. package/dest/serialize/free_funcs.js +1 -1
  344. package/dest/serialize/index.d.ts +2 -1
  345. package/dest/serialize/index.d.ts.map +1 -1
  346. package/dest/serialize/index.js +1 -0
  347. package/dest/serialize/serialize.d.ts +20 -2
  348. package/dest/serialize/serialize.d.ts.map +1 -1
  349. package/dest/serialize/serialize.js +32 -1
  350. package/dest/serialize/type_registry.d.ts +1 -1
  351. package/dest/serialize/type_registry.d.ts.map +1 -1
  352. package/dest/serialize/types.d.ts +1 -1
  353. package/dest/sleep/index.d.ts +4 -1
  354. package/dest/sleep/index.d.ts.map +1 -1
  355. package/dest/sleep/index.js +14 -1
  356. package/dest/string/index.d.ts +1 -1
  357. package/dest/string/index.js +1 -1
  358. package/dest/testing/files/index.d.ts +3 -3
  359. package/dest/testing/files/index.d.ts.map +1 -1
  360. package/dest/testing/files/index.js +2 -3
  361. package/dest/testing/formatting.d.ts +1 -1
  362. package/dest/testing/index.d.ts +1 -1
  363. package/dest/testing/port_allocator.d.ts +1 -1
  364. package/dest/testing/snapshot_serializer.d.ts +1 -1
  365. package/dest/testing/test_data.d.ts +1 -1
  366. package/dest/timer/date.d.ts +26 -1
  367. package/dest/timer/date.d.ts.map +1 -1
  368. package/dest/timer/date.js +36 -0
  369. package/dest/timer/elapsed.d.ts +1 -1
  370. package/dest/timer/index.d.ts +2 -2
  371. package/dest/timer/index.d.ts.map +1 -1
  372. package/dest/timer/index.js +1 -1
  373. package/dest/timer/timeout.d.ts +3 -1
  374. package/dest/timer/timeout.d.ts.map +1 -1
  375. package/dest/timer/timeout.js +26 -0
  376. package/dest/timer/timer.d.ts +1 -1
  377. package/dest/timer/timer.d.ts.map +1 -1
  378. package/dest/transport/dispatch/create_dispatch_proxy.d.ts +11 -2
  379. package/dest/transport/dispatch/create_dispatch_proxy.d.ts.map +1 -1
  380. package/dest/transport/dispatch/messages.d.ts +1 -1
  381. package/dest/transport/index.d.ts +1 -2
  382. package/dest/transport/index.d.ts.map +1 -1
  383. package/dest/transport/index.js +0 -1
  384. package/dest/transport/interface/connector.d.ts +1 -1
  385. package/dest/transport/interface/listener.d.ts +1 -1
  386. package/dest/transport/interface/socket.d.ts +1 -1
  387. package/dest/transport/interface/transferable.d.ts +1 -1
  388. package/dest/transport/node/index.d.ts +1 -1
  389. package/dest/transport/node/node_connector.d.ts +1 -1
  390. package/dest/transport/node/node_connector.d.ts.map +1 -1
  391. package/dest/transport/node/node_connector_socket.d.ts +1 -1
  392. package/dest/transport/node/node_connector_socket.d.ts.map +1 -1
  393. package/dest/transport/node/node_listener.d.ts +1 -1
  394. package/dest/transport/node/node_listener.d.ts.map +1 -1
  395. package/dest/transport/node/node_listener_socket.d.ts +1 -1
  396. package/dest/transport/node/node_listener_socket.d.ts.map +1 -1
  397. package/dest/transport/transport_client.d.ts +1 -1
  398. package/dest/transport/transport_client.d.ts.map +1 -1
  399. package/dest/transport/transport_client.js +2 -2
  400. package/dest/transport/transport_server.d.ts +1 -10
  401. package/dest/transport/transport_server.d.ts.map +1 -1
  402. package/dest/trees/balanced_merkle_tree_root.d.ts +16 -0
  403. package/dest/trees/balanced_merkle_tree_root.d.ts.map +1 -0
  404. package/dest/trees/balanced_merkle_tree_root.js +50 -0
  405. package/dest/trees/hasher.d.ts +4 -1
  406. package/dest/trees/hasher.d.ts.map +1 -1
  407. package/dest/trees/hasher.js +10 -5
  408. package/dest/trees/index.d.ts +4 -3
  409. package/dest/trees/index.d.ts.map +1 -1
  410. package/dest/trees/index.js +3 -2
  411. package/dest/trees/indexed_merkle_tree.d.ts +1 -1
  412. package/dest/trees/indexed_merkle_tree.d.ts.map +1 -1
  413. package/dest/trees/indexed_merkle_tree.js +1 -1
  414. package/dest/trees/indexed_merkle_tree_calculator.d.ts +1 -1
  415. package/dest/trees/indexed_merkle_tree_calculator.d.ts.map +1 -1
  416. package/dest/trees/indexed_merkle_tree_calculator.js +5 -1
  417. package/dest/trees/indexed_tree_leaf.d.ts +1 -1
  418. package/dest/trees/membership_witness.d.ts +3 -18
  419. package/dest/trees/membership_witness.d.ts.map +1 -1
  420. package/dest/trees/membership_witness.js +1 -1
  421. package/dest/trees/merkle_tree.d.ts +1 -1
  422. package/dest/trees/merkle_tree.d.ts.map +1 -1
  423. package/dest/trees/merkle_tree_calculator.d.ts +4 -12
  424. package/dest/trees/merkle_tree_calculator.d.ts.map +1 -1
  425. package/dest/trees/merkle_tree_calculator.js +1 -35
  426. package/dest/trees/sibling_path.d.ts +6 -38
  427. package/dest/trees/sibling_path.d.ts.map +1 -1
  428. package/dest/trees/sibling_path.js +11 -9
  429. package/dest/trees/unbalanced_merkle_tree_calculator.d.ts +6 -6
  430. package/dest/trees/unbalanced_merkle_tree_calculator.d.ts.map +1 -1
  431. package/dest/trees/unbalanced_merkle_tree_calculator.js +34 -42
  432. package/dest/trees/unbalanced_merkle_tree_root.d.ts +27 -0
  433. package/dest/trees/unbalanced_merkle_tree_root.d.ts.map +1 -0
  434. package/dest/trees/unbalanced_merkle_tree_root.js +83 -0
  435. package/dest/trees/unbalanced_tree_store.d.ts +5 -1
  436. package/dest/trees/unbalanced_tree_store.d.ts.map +1 -1
  437. package/dest/trees/unbalanced_tree_store.js +49 -1
  438. package/dest/types/index.d.ts +28 -2
  439. package/dest/types/index.d.ts.map +1 -1
  440. package/dest/types/index.js +21 -0
  441. package/dest/url/index.d.ts +1 -1
  442. package/dest/validation/index.d.ts +1 -1
  443. package/package.json +54 -11
  444. package/src/array/array.ts +0 -16
  445. package/src/array/index.ts +1 -0
  446. package/src/array/sorted_array.ts +138 -0
  447. package/src/bigint-buffer/index.ts +6 -1
  448. package/src/branded-types/block_number.ts +135 -0
  449. package/src/branded-types/buffer32_hash.ts +38 -0
  450. package/src/branded-types/checkpoint_number.ts +130 -0
  451. package/src/branded-types/epoch.ts +88 -0
  452. package/src/branded-types/index.ts +8 -0
  453. package/src/branded-types/index_within_checkpoint.ts +88 -0
  454. package/src/branded-types/slot.ts +93 -0
  455. package/src/branded-types/types.ts +2 -0
  456. package/src/buffer/buffer16.ts +5 -2
  457. package/src/buffer/buffer32.ts +41 -70
  458. package/src/buffer/index.ts +1 -0
  459. package/src/buffer/utils.ts +8 -0
  460. package/src/collection/array.ts +86 -0
  461. package/src/collection/index.ts +2 -0
  462. package/src/collection/lru_map.ts +143 -0
  463. package/src/collection/lru_set.ts +115 -0
  464. package/src/committable/committable.ts +1 -1
  465. package/src/config/env_var.ts +138 -35
  466. package/src/config/index.ts +183 -114
  467. package/src/config/network_config.ts +5 -0
  468. package/src/config/network_name.ts +6 -6
  469. package/src/config/parse-env.ts +4 -0
  470. package/src/config/secret_value.ts +1 -1
  471. package/src/crypto/aes128/index.ts +13 -4
  472. package/src/crypto/bls/bn254_keystore.ts +34 -44
  473. package/src/crypto/bls/index.ts +1 -1
  474. package/src/crypto/bn254/index.ts +50 -156
  475. package/src/crypto/ecdsa/index.ts +4 -4
  476. package/src/crypto/ecdsa/signature.ts +2 -2
  477. package/src/crypto/grumpkin/index.ts +8 -6
  478. package/src/crypto/keys/index.ts +22 -6
  479. package/src/crypto/pedersen/pedersen.wasm.ts +4 -4
  480. package/src/crypto/poseidon/index.ts +43 -45
  481. package/src/crypto/random/randomness_singleton.ts +6 -4
  482. package/src/crypto/schnorr/index.ts +14 -12
  483. package/src/crypto/schnorr/signature.ts +18 -47
  484. package/src/crypto/secp256k1/index.ts +3 -3
  485. package/src/crypto/secp256k1-signer/utils.ts +32 -0
  486. package/src/crypto/sha256/index.ts +1 -1
  487. package/src/crypto/sha512/index.ts +1 -1
  488. package/src/crypto/signature/index.ts +1 -1
  489. package/src/crypto/sync/index.ts +1 -1
  490. package/src/crypto/sync/pedersen/index.ts +1 -1
  491. package/src/crypto/sync/poseidon/index.ts +1 -10
  492. package/src/{fields/bls12_fields.ts → curves/bls12/field.ts} +5 -12
  493. package/src/curves/bls12/index.ts +2 -0
  494. package/src/{fields/bls12_point.ts → curves/bls12/point.ts} +7 -7
  495. package/src/{fields/fields.ts → curves/bn254/field.ts} +82 -84
  496. package/src/curves/bn254/index.ts +2 -0
  497. package/src/curves/bn254/point.ts +170 -0
  498. package/src/curves/grumpkin/index.ts +11 -0
  499. package/src/{fields → curves/grumpkin}/point.ts +47 -45
  500. package/src/eth-address/index.ts +27 -6
  501. package/src/eth-signature/eth_signature.ts +7 -1
  502. package/src/fifo/fifo_frame_reader.ts +113 -0
  503. package/src/fifo/index.ts +1 -0
  504. package/src/fifo_set/fifo_set.ts +52 -0
  505. package/src/fifo_set/index.ts +1 -0
  506. package/src/iterator/filter.ts +11 -0
  507. package/src/iterator/index.ts +1 -0
  508. package/src/jest/setup.mjs +31 -1
  509. package/src/json-rpc/client/fetch.ts +4 -3
  510. package/src/json-rpc/client/safe_json_rpc_client.ts +4 -2
  511. package/src/json-rpc/client/undici.ts +23 -3
  512. package/src/json-rpc/fixtures/test_state.ts +10 -10
  513. package/src/json-rpc/server/api_key_auth.ts +63 -0
  514. package/src/json-rpc/server/index.ts +1 -0
  515. package/src/json-rpc/server/safe_json_rpc_server.ts +32 -14
  516. package/src/log/bigint-utils.ts +25 -0
  517. package/src/log/gcloud-logger-config.ts +5 -0
  518. package/src/log/libp2p_logger.ts +12 -5
  519. package/src/log/log-filters.ts +29 -11
  520. package/src/log/pino-logger-server.ts +25 -0
  521. package/src/log/pino-logger.ts +162 -40
  522. package/src/noir/noir_package_config.ts +32 -20
  523. package/src/promise/running-promise.ts +8 -5
  524. package/src/queue/base_memory_queue.ts +1 -1
  525. package/src/queue/batch_queue.ts +1 -0
  526. package/src/queue/semaphore.ts +5 -0
  527. package/src/retry/index.ts +84 -4
  528. package/src/schemas/api.ts +25 -25
  529. package/src/schemas/parse.ts +9 -6
  530. package/src/schemas/schemas.ts +27 -16
  531. package/src/schemas/types.ts +34 -1
  532. package/src/schemas/utils.ts +25 -46
  533. package/src/serialize/buffer_reader.ts +36 -9
  534. package/src/serialize/buffer_sink.ts +350 -0
  535. package/src/serialize/field_reader.ts +1 -1
  536. package/src/serialize/free_funcs.ts +1 -1
  537. package/src/serialize/index.ts +1 -0
  538. package/src/serialize/serialize.ts +33 -1
  539. package/src/sleep/index.ts +16 -1
  540. package/src/string/index.ts +1 -1
  541. package/src/testing/files/index.ts +2 -3
  542. package/src/timer/date.ts +52 -0
  543. package/src/timer/index.ts +1 -1
  544. package/src/timer/timeout.ts +31 -0
  545. package/src/transport/dispatch/create_dispatch_proxy.ts +11 -1
  546. package/src/transport/index.ts +0 -1
  547. package/src/transport/transport_client.ts +2 -2
  548. package/src/trees/balanced_merkle_tree_root.ts +65 -0
  549. package/src/trees/hasher.ts +12 -0
  550. package/src/trees/index.ts +3 -2
  551. package/src/trees/indexed_merkle_tree.ts +1 -1
  552. package/src/trees/indexed_merkle_tree_calculator.ts +5 -1
  553. package/src/trees/membership_witness.ts +1 -1
  554. package/src/trees/merkle_tree_calculator.ts +4 -43
  555. package/src/trees/sibling_path.ts +12 -7
  556. package/src/trees/unbalanced_merkle_tree_calculator.ts +32 -50
  557. package/src/trees/unbalanced_merkle_tree_root.ts +112 -0
  558. package/src/trees/unbalanced_tree_store.ts +57 -2
  559. package/src/types/index.ts +58 -1
  560. package/dest/crypto/bn254/bn254_utils.d.ts +0 -39
  561. package/dest/crypto/bn254/bn254_utils.d.ts.map +0 -1
  562. package/dest/crypto/bn254/bn254_utils.js +0 -56
  563. package/dest/crypto/index.d.ts +0 -17
  564. package/dest/crypto/index.d.ts.map +0 -1
  565. package/dest/crypto/index.js +0 -16
  566. package/dest/crypto/serialize.d.ts +0 -51
  567. package/dest/crypto/serialize.d.ts.map +0 -1
  568. package/dest/crypto/serialize.js +0 -68
  569. package/dest/fields/bls12_fields.d.ts.map +0 -1
  570. package/dest/fields/bls12_point.d.ts.map +0 -1
  571. package/dest/fields/coordinate.d.ts +0 -66
  572. package/dest/fields/coordinate.d.ts.map +0 -1
  573. package/dest/fields/coordinate.js +0 -96
  574. package/dest/fields/fields.d.ts +0 -179
  575. package/dest/fields/fields.d.ts.map +0 -1
  576. package/dest/fields/index.d.ts +0 -6
  577. package/dest/fields/index.d.ts.map +0 -1
  578. package/dest/fields/index.js +0 -5
  579. package/dest/fields/point.d.ts.map +0 -1
  580. package/dest/index.d.ts +0 -30
  581. package/dest/index.d.ts.map +0 -1
  582. package/dest/index.js +0 -30
  583. package/dest/json-rpc/server/telemetry.d.ts +0 -2
  584. package/dest/json-rpc/server/telemetry.d.ts.map +0 -1
  585. package/dest/json-rpc/server/telemetry.js +0 -0
  586. package/dest/transport/dispatch/create_dispatch_fn.d.ts +0 -25
  587. package/dest/transport/dispatch/create_dispatch_fn.d.ts.map +0 -1
  588. package/dest/transport/dispatch/create_dispatch_fn.js +0 -17
  589. package/dest/trees/unbalanced_merkle_tree.d.ts +0 -28
  590. package/dest/trees/unbalanced_merkle_tree.d.ts.map +0 -1
  591. package/dest/trees/unbalanced_merkle_tree.js +0 -99
  592. package/src/crypto/bn254/bn254_utils.ts +0 -64
  593. package/src/crypto/index.ts +0 -16
  594. package/src/crypto/serialize.ts +0 -85
  595. package/src/fields/coordinate.ts +0 -104
  596. package/src/fields/index.ts +0 -5
  597. package/src/index.ts +0 -30
  598. package/src/json-rpc/server/telemetry.ts +0 -0
  599. package/src/transport/dispatch/create_dispatch_fn.ts +0 -35
  600. package/src/trees/unbalanced_merkle_tree.ts +0 -111
@@ -1,5 +1,7 @@
1
- import { Fq, Fr } from '../fields/fields.js';
1
+ import { Fq, Fr } from '../curves/bn254/field.js';
2
+ import { createConsoleLogger } from '../log/console.js';
2
3
  import { getActiveNetworkName } from './network_name.js';
4
+ import { parseBooleanEnv } from './parse-env.js';
3
5
  import { SecretValue } from './secret_value.js';
4
6
  export { SecretValue, getActiveNetworkName };
5
7
  export { NetworkConfigMapSchema, NetworkConfigSchema } from './network_config.js';
@@ -31,8 +33,8 @@ export function isBooleanConfigValue(obj, key) {
31
33
  }
32
34
  }
33
35
  }
34
- // Parse the value if needed
35
- if (value !== undefined) {
36
+ // Parse the value if needed. Empty strings are treated as "not set".
37
+ if (value !== undefined && value !== '') {
36
38
  return parseFunc ? parseFunc(value) : value;
37
39
  }
38
40
  // Return default if no env var found
@@ -41,12 +43,23 @@ export function isBooleanConfigValue(obj, key) {
41
43
  export function getConfigFromMappings(configMappings) {
42
44
  const config = {};
43
45
  for(const key in configMappings){
44
- const { env, parseEnv, defaultValue, nested, fallback } = configMappings[key];
45
- if (nested) {
46
- config[key] = getConfigFromMappings(nested);
47
- } else {
48
- // Use the shared utility function
46
+ const { env, parseEnv, defaultValue, fallback, deprecatedFallback } = configMappings[key];
47
+ try {
49
48
  config[key] = getValueFromEnvWithFallback(env, parseEnv, defaultValue, fallback);
49
+ } catch (e) {
50
+ throw new Error(`Failed to parse config '${key}' (env: ${env ?? 'none'}): ${e.message}`);
51
+ }
52
+ if (deprecatedFallback?.length) {
53
+ const userLog = createConsoleLogger('[DEPRECATED]');
54
+ for (const { env: deprecatedEnv, message } of deprecatedFallback){
55
+ if (process.env[deprecatedEnv]) {
56
+ const warningMessage = message ?? `Environment variable ${deprecatedEnv} is deprecated. Please use ${env} instead.`;
57
+ userLog(warningMessage, {
58
+ deprecatedEnvVar: deprecatedEnv,
59
+ newEnvVar: env
60
+ });
61
+ }
62
+ }
50
63
  }
51
64
  }
52
65
  return config;
@@ -60,23 +73,31 @@ export function getConfigFromMappings(configMappings) {
60
73
  return Object.fromEntries(Object.entries(configMappings).filter(([key])=>!keysToFilter.includes(key)));
61
74
  }
62
75
  /**
63
- * Generates parseEnv and default values for a numerical config value.
64
- * @param defaultVal - The default numerical value to use if the environment variable is not set or is invalid
65
- * @returns Object with parseEnv and default values for a numerical config value
76
+ * Generates parseEnv and default values for an integer config value.
77
+ *
78
+ * The default is used only when the environment variable is unset or empty. A set-but-invalid
79
+ * value (non-numeric, fractional, or outside the safe-integer range) throws rather than silently
80
+ * falling back to the default.
81
+ * @param defaultVal - The default value to use when the environment variable is unset
82
+ * @returns Object with parseEnv and default values for an integer config value
66
83
  */ export function numberConfigHelper(defaultVal) {
67
84
  return {
68
- parseEnv: (val)=>safeParseNumber(val, defaultVal),
85
+ parseEnv: (val)=>parseSafeInteger(val),
69
86
  defaultValue: defaultVal
70
87
  };
71
88
  }
72
89
  /**
73
- * Generates parseEnv and default values for a numerical config value.
74
- * @param defaultVal - The default numerical value to use if the environment variable is not set or is invalid
75
- * @returns Object with parseEnv and default values for a numerical config value
90
+ * Generates parseEnv and default values for a floating-point config value.
91
+ *
92
+ * The default is used only when the environment variable is unset or empty. A set-but-invalid
93
+ * value (not a finite number) throws rather than silently falling back to the default.
94
+ * @param defaultVal - The default value to use when the environment variable is unset
95
+ * @param validationFn - Optional extra validation applied to the parsed value; should throw on invalid input
96
+ * @returns Object with parseEnv and default values for a floating-point config value
76
97
  */ export function floatConfigHelper(defaultVal, validationFn) {
77
98
  return {
78
99
  parseEnv: (val)=>{
79
- const parsed = safeParseFloat(val, defaultVal);
100
+ const parsed = parseFiniteNumber(val);
80
101
  validationFn?.(parsed);
81
102
  return parsed;
82
103
  },
@@ -84,14 +105,41 @@ export function getConfigFromMappings(configMappings) {
84
105
  };
85
106
  }
86
107
  /**
87
- * Generates parseEnv and default values for a numerical config value.
88
- * @param defaultVal - The default numerical value to use if the environment variable is not set or is invalid
89
- * @returns Object with parseEnv and default values for a numerical config value
90
- */ export function bigintConfigHelper(defaultVal) {
108
+ * Generates parseEnv and default values for a 0-1 percentage config value.
109
+ *
110
+ * The default is used only when the environment variable is unset or empty. A set-but-invalid
111
+ * value (not a finite number, or outside the 0-1 range) throws rather than silently falling back
112
+ * to the default.
113
+ * @param defaultVal - The default value to use when the environment variable is unset
114
+ */ export function percentageConfigHelper(defaultVal) {
115
+ return {
116
+ parseEnv: (val)=>{
117
+ const parsed = parseFiniteNumber(val);
118
+ if (parsed < 0 || parsed > 1) {
119
+ throw new TypeError(`Invalid percentage value: ${parsed} should be between 0 and 1`);
120
+ }
121
+ return parsed;
122
+ },
123
+ defaultValue: defaultVal
124
+ };
125
+ }
126
+ export function bigintConfigHelper(defaultVal) {
91
127
  return {
92
128
  parseEnv: (val)=>{
93
- if (val === '') {
94
- return defaultVal;
129
+ // Handle scientific notation (e.g. "1e+23", "2E23") which BigInt() doesn't accept directly.
130
+ // We parse it losslessly using bigint arithmetic instead of going through float64.
131
+ if (/[eE]/.test(val)) {
132
+ const match = val.match(/^(-?\d+(?:\.(\d+))?)[eE]([+-]?\d+)$/);
133
+ if (!match) {
134
+ throw new Error(`Cannot convert '${val}' to a BigInt`);
135
+ }
136
+ const digits = match[1].replace('.', '');
137
+ const decimalPlaces = match[2]?.length ?? 0;
138
+ const exponent = parseInt(match[3], 10) - decimalPlaces;
139
+ if (exponent < 0) {
140
+ throw new Error(`Cannot convert '${val}' to a BigInt: result is not an integer`);
141
+ }
142
+ return BigInt(digits) * 10n ** BigInt(exponent);
95
143
  }
96
144
  return BigInt(val);
97
145
  },
@@ -100,26 +148,18 @@ export function getConfigFromMappings(configMappings) {
100
148
  }
101
149
  /**
102
150
  * Generates parseEnv for an optional numerical config value.
151
+ * Empty strings are already handled by getValueFromEnvWithFallback.
103
152
  */ export function optionalNumberConfigHelper() {
104
153
  return {
105
- parseEnv: (val)=>{
106
- if (val !== undefined && val.length > 0) {
107
- const parsedValue = parseInt(val);
108
- return Number.isSafeInteger(parsedValue) ? parsedValue : undefined;
109
- }
110
- return undefined;
111
- }
154
+ parseEnv: (val)=>parseSafeInteger(val)
112
155
  };
113
156
  }
114
- /** Generates parseEnv for an enum-like config value. */ export function enumConfigHelper(values, defaultValue) {
157
+ export function enumConfigHelper(values, defaultValue) {
115
158
  return {
116
159
  parseEnv: (val)=>{
117
- const sanitizedVal = (val ?? '').trim().toLowerCase();
118
- if (values.includes(sanitizedVal)) {
119
- return sanitizedVal;
120
- }
121
- if (!val && defaultValue) {
122
- return defaultValue;
160
+ const sanitizedVal = val.trim().toLowerCase();
161
+ if (values.some((v)=>v.toLowerCase() === sanitizedVal)) {
162
+ return values.find((v)=>v.toLowerCase() === sanitizedVal);
123
163
  }
124
164
  throw new Error(`Invalid config value '${val}' (must be one of ${values.join(', ')})`);
125
165
  },
@@ -144,24 +184,16 @@ export function secretValueConfigHelper(parse) {
144
184
  return {
145
185
  parseEnv: wrap,
146
186
  parseVal: wrap,
147
- defaultValue: new SecretValue(parse(undefined)),
148
- isBoolean: true
187
+ defaultValue: new SecretValue(parse(undefined))
149
188
  };
150
189
  }
151
- /** Parses an env var as boolean. Returns true only if value is 1, true, or TRUE. */ export function parseBooleanEnv(val) {
152
- return val !== undefined && [
153
- '1',
154
- 'true',
155
- 'TRUE'
156
- ].includes(val);
157
- }
190
+ export { parseBooleanEnv } from './parse-env.js';
158
191
  export function secretStringConfigHelper(defaultValue) {
159
192
  const parse = (val)=>new SecretValue(val);
160
193
  return {
161
194
  parseEnv: parse,
162
195
  parseVal: parse,
163
- defaultValue: defaultValue !== undefined ? new SecretValue(defaultValue) : undefined,
164
- isBoolean: true
196
+ defaultValue: defaultValue !== undefined ? new SecretValue(defaultValue) : undefined
165
197
  };
166
198
  }
167
199
  export function secretFrConfigHelper(defaultValue) {
@@ -169,8 +201,7 @@ export function secretFrConfigHelper(defaultValue) {
169
201
  return {
170
202
  parseEnv: parse,
171
203
  parseVal: parse,
172
- defaultValue: defaultValue !== undefined ? new SecretValue(defaultValue) : undefined,
173
- isBoolean: true
204
+ defaultValue: defaultValue !== undefined ? new SecretValue(defaultValue) : undefined
174
205
  };
175
206
  }
176
207
  export function secretFqConfigHelper(defaultValue) {
@@ -178,29 +209,37 @@ export function secretFqConfigHelper(defaultValue) {
178
209
  return {
179
210
  parseEnv: parse,
180
211
  parseVal: parse,
181
- defaultValue: typeof defaultValue !== 'undefined' ? new SecretValue(defaultValue) : undefined,
182
- isBoolean: true
212
+ defaultValue: defaultValue !== undefined ? new SecretValue(defaultValue) : undefined
183
213
  };
184
214
  }
185
215
  /**
186
- * Safely parses a number from a string.
187
- * If the value is not a number or is not a safe integer, the default value is returned.
216
+ * Parses a string into a safe integer, throwing if the value is numeric but not an integer.
217
+ *
218
+ * Unlike `parseInt`, this does not silently truncate decimals: `'0.8'` throws rather than
219
+ * becoming `0`. A fractional value indicates the caller intended a non-integer where only
220
+ * integers are supported (use `floatConfigHelper`/`percentageConfigHelper` for those).
188
221
  * @param value - The string value to parse
189
- * @param defaultValue - The default value to return
190
- * @returns Either parsed value or default value
191
- */ function safeParseNumber(value, defaultValue) {
192
- const parsedValue = parseInt(value, 10);
193
- return Number.isSafeInteger(parsedValue) ? parsedValue : defaultValue;
222
+ * @returns The parsed integer value
223
+ */ function parseSafeInteger(value) {
224
+ const parsedValue = parseFloat(value);
225
+ if (!Number.isSafeInteger(parsedValue)) {
226
+ throw new Error(`Invalid integer config value '${value}'; expected a whole number`);
227
+ }
228
+ return parsedValue;
194
229
  }
195
230
  /**
196
- * Safely parses a floating point number from a string.
197
- * If the value is not a number, the default value is returned.
231
+ * Parses a string into a finite floating-point number, throwing if the value is not a finite number.
232
+ *
233
+ * Invalid input (e.g. `'abc'`, or an overflow to `Infinity`) throws rather than being silently
234
+ * swallowed, so a misconfigured value fails loudly instead of falling back to the config default.
198
235
  * @param value - The string value to parse
199
- * @param defaultValue - The default value to return
200
- * @returns Either parsed value or default value
201
- */ function safeParseFloat(value, defaultValue) {
236
+ * @returns The parsed number
237
+ */ function parseFiniteNumber(value) {
202
238
  const parsedValue = parseFloat(value);
203
- return Number.isNaN(parsedValue) ? defaultValue : parsedValue;
239
+ if (!Number.isFinite(parsedValue)) {
240
+ throw new Error(`Invalid number config value '${value}'`);
241
+ }
242
+ return parsedValue;
204
243
  }
205
244
  /**
206
245
  * Picks specific keys from the given configuration mappings.
@@ -1,42 +1,28 @@
1
1
  import { z } from 'zod';
2
2
  export declare const NetworkConfigSchema: z.ZodObject<{
3
- bootnodes: z.ZodArray<z.ZodString, "many">;
4
- snapshots: z.ZodArray<z.ZodString, "many">;
3
+ bootnodes: z.ZodArray<z.ZodString>;
4
+ snapshots: z.ZodArray<z.ZodString>;
5
+ blobFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString>>;
6
+ txCollectionFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString>>;
5
7
  registryAddress: z.ZodString;
6
8
  feeAssetHandlerAddress: z.ZodOptional<z.ZodString>;
7
9
  l1ChainId: z.ZodNumber;
8
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
9
- bootnodes: z.ZodArray<z.ZodString, "many">;
10
- snapshots: z.ZodArray<z.ZodString, "many">;
11
- registryAddress: z.ZodString;
12
- feeAssetHandlerAddress: z.ZodOptional<z.ZodString>;
13
- l1ChainId: z.ZodNumber;
14
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
15
- bootnodes: z.ZodArray<z.ZodString, "many">;
16
- snapshots: z.ZodArray<z.ZodString, "many">;
17
- registryAddress: z.ZodString;
18
- feeAssetHandlerAddress: z.ZodOptional<z.ZodString>;
19
- l1ChainId: z.ZodNumber;
20
- }, z.ZodTypeAny, "passthrough">>;
10
+ blockDurationMs: z.ZodOptional<z.ZodNumber>;
11
+ txPublicSetupAllowListExtend: z.ZodOptional<z.ZodString>;
12
+ nodeVersion: z.ZodOptional<z.ZodString>;
13
+ }, z.core.$loose>;
21
14
  export declare const NetworkConfigMapSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
22
- bootnodes: z.ZodArray<z.ZodString, "many">;
23
- snapshots: z.ZodArray<z.ZodString, "many">;
24
- registryAddress: z.ZodString;
25
- feeAssetHandlerAddress: z.ZodOptional<z.ZodString>;
26
- l1ChainId: z.ZodNumber;
27
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
28
- bootnodes: z.ZodArray<z.ZodString, "many">;
29
- snapshots: z.ZodArray<z.ZodString, "many">;
30
- registryAddress: z.ZodString;
31
- feeAssetHandlerAddress: z.ZodOptional<z.ZodString>;
32
- l1ChainId: z.ZodNumber;
33
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
34
- bootnodes: z.ZodArray<z.ZodString, "many">;
35
- snapshots: z.ZodArray<z.ZodString, "many">;
15
+ bootnodes: z.ZodArray<z.ZodString>;
16
+ snapshots: z.ZodArray<z.ZodString>;
17
+ blobFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString>>;
18
+ txCollectionFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString>>;
36
19
  registryAddress: z.ZodString;
37
20
  feeAssetHandlerAddress: z.ZodOptional<z.ZodString>;
38
21
  l1ChainId: z.ZodNumber;
39
- }, z.ZodTypeAny, "passthrough">>>;
22
+ blockDurationMs: z.ZodOptional<z.ZodNumber>;
23
+ txPublicSetupAllowListExtend: z.ZodOptional<z.ZodString>;
24
+ nodeVersion: z.ZodOptional<z.ZodString>;
25
+ }, z.core.$loose>>;
40
26
  export type NetworkConfig = z.infer<typeof NetworkConfigSchema>;
41
27
  export type NetworkConfigMap = z.infer<typeof NetworkConfigMapSchema>;
42
- //# sourceMappingURL=network_config.d.ts.map
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya19jb25maWcuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvbmV0d29ya19jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixlQUFPLE1BQU0sbUJBQW1COzs7Ozs7Ozs7OztpQkFhaEIsQ0FBQztBQUVqQixlQUFPLE1BQU0sc0JBQXNCOzs7Ozs7Ozs7OztrQkFBNEMsQ0FBQztBQUVoRixNQUFNLE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxtQkFBbUIsQ0FBQyxDQUFDO0FBQ2hFLE1BQU0sTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sc0JBQXNCLENBQUMsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"network_config.d.ts","sourceRoot":"","sources":["../../src/config/network_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;gCAQhB,CAAC;AAEjB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;iCAA4C,CAAC;AAEhF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
1
+ {"version":3,"file":"network_config.d.ts","sourceRoot":"","sources":["../../src/config/network_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,mBAAmB;;;;;;;;;;;iBAahB,CAAC;AAEjB,eAAO,MAAM,sBAAsB;;;;;;;;;;;kBAA4C,CAAC;AAEhF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
@@ -2,8 +2,13 @@ import { z } from 'zod';
2
2
  export const NetworkConfigSchema = z.object({
3
3
  bootnodes: z.array(z.string()),
4
4
  snapshots: z.array(z.string()),
5
+ blobFileStoreUrls: z.array(z.string()).optional(),
6
+ txCollectionFileStoreUrls: z.array(z.string()).optional(),
5
7
  registryAddress: z.string(),
6
8
  feeAssetHandlerAddress: z.string().optional(),
7
- l1ChainId: z.number()
9
+ l1ChainId: z.number(),
10
+ blockDurationMs: z.number().positive().optional(),
11
+ txPublicSetupAllowListExtend: z.string().optional(),
12
+ nodeVersion: z.string().optional()
8
13
  }).passthrough(); // Allow additional unknown fields to pass through
9
14
  export const NetworkConfigMapSchema = z.record(z.string(), NetworkConfigSchema);
@@ -1,3 +1,3 @@
1
- export type NetworkNames = 'local' | 'staging-ignition' | 'staging-public' | 'testnet' | 'mainnet' | 'next-net' | 'devnet';
1
+ export type NetworkNames = 'local' | 'staging' | 'testnet' | 'mainnet' | 'next-net' | 'devnet' | `v${number}-devnet-${number}`;
2
2
  export declare function getActiveNetworkName(name?: string): NetworkNames;
3
- //# sourceMappingURL=network_name.d.ts.map
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya19uYW1lLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL25ldHdvcmtfbmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE1BQU0sWUFBWSxHQUNwQixPQUFPLEdBQ1AsU0FBUyxHQUNULFNBQVMsR0FDVCxTQUFTLEdBQ1QsVUFBVSxHQUNWLFFBQVEsR0FDUixJQUFJLE1BQU0sV0FBVyxNQUFNLEVBQUUsQ0FBQztBQUVsQyx3QkFBZ0Isb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxHQUFHLFlBQVksQ0FrQmhFIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"network_name.d.ts","sourceRoot":"","sources":["../../src/config/network_name.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GACpB,OAAO,GACP,kBAAkB,GAClB,gBAAgB,GAChB,SAAS,GACT,SAAS,GACT,UAAU,GACV,QAAQ,CAAC;AAEb,wBAAgB,oBAAoB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,YAAY,CAkBhE"}
1
+ {"version":3,"file":"network_name.d.ts","sourceRoot":"","sources":["../../src/config/network_name.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GACpB,OAAO,GACP,SAAS,GACT,SAAS,GACT,SAAS,GACT,UAAU,GACV,QAAQ,GACR,IAAI,MAAM,WAAW,MAAM,EAAE,CAAC;AAElC,wBAAgB,oBAAoB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,YAAY,CAkBhE"}
@@ -2,9 +2,7 @@ export function getActiveNetworkName(name) {
2
2
  const network = name || process.env.NETWORK;
3
3
  if (!network || network === '' || network === 'local') {
4
4
  return 'local';
5
- } else if (network === 'staging-ignition') {
6
- return network;
7
- } else if (network === 'staging-public') {
5
+ } else if (network === 'staging') {
8
6
  return network;
9
7
  } else if (network === 'testnet' || network === 'alpha-testnet') {
10
8
  return 'testnet';
@@ -14,6 +12,8 @@ export function getActiveNetworkName(name) {
14
12
  return 'next-net';
15
13
  } else if (network === 'devnet') {
16
14
  return 'devnet';
15
+ } else if (/^v\d+-devnet-\d+$/.test(network)) {
16
+ return network;
17
17
  }
18
18
  throw new Error(`Unknown network: ${network}`);
19
19
  }
@@ -0,0 +1,3 @@
1
+ /** Parses an env var as boolean. Returns true only if value is 1, true, or TRUE. */
2
+ export declare function parseBooleanEnv(val: string | undefined): boolean;
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtZW52LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL3BhcnNlLWVudi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvRkFBb0Y7QUFDcEYsd0JBQWdCLGVBQWUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLFNBQVMsR0FBRyxPQUFPLENBRWhFIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-env.d.ts","sourceRoot":"","sources":["../../src/config/parse-env.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAEhE"}
@@ -0,0 +1,7 @@
1
+ /** Parses an env var as boolean. Returns true only if value is 1, true, or TRUE. */ export function parseBooleanEnv(val) {
2
+ return val !== undefined && [
3
+ '1',
4
+ 'true',
5
+ 'TRUE'
6
+ ].includes(val);
7
+ }
@@ -23,6 +23,6 @@ export declare class SecretValue<T> {
23
23
  /**
24
24
  * Returns a Zod schema
25
25
  */
26
- static schema<O>(valueSchema: ZodType<O, any, any>): ZodType<SecretValue<O>, any, any>;
26
+ static schema<O>(valueSchema: ZodType<O, any>): ZodType<SecretValue<O>, any>;
27
27
  }
28
- //# sourceMappingURL=secret_value.d.ts.map
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcmV0X3ZhbHVlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL3NlY3JldF92YWx1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEtBQUssQ0FBQztBQUVuQzs7R0FFRztBQUNILHFCQUFhLFdBQVcsQ0FBQyxDQUFDOztJQU10QixPQUFPLENBQUMsUUFBUSxDQUFDLGFBQWE7SUFGaEMsWUFDRSxLQUFLLEVBQUUsQ0FBQyxFQUNTLGFBQWEsU0FBZSxFQUc5QztJQUVEOztPQUVHO0lBQ0ksUUFBUSxJQUFJLENBQUMsQ0FFbkI7SUFFRDs7T0FFRztJQUNJLFFBQVEsSUFBSSxNQUFNLENBRXhCO0lBRUQ7O09BRUc7SUFDSSxNQUFNLElBQUksTUFBTSxDQUV0QjtJQUVNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUV0QjtJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FFM0U7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"secret_value.d.ts","sourceRoot":"","sources":["../../src/config/secret_value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAEnC;;GAEG;AACH,qBAAa,WAAW,CAAC,CAAC;;IAMtB,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAD9B,KAAK,EAAE,CAAC,EACS,aAAa,SAAe;IAK/C;;OAEG;IACI,QAAQ,IAAI,CAAC;IAIpB;;OAEG;IACI,QAAQ,IAAI,MAAM;IAIzB;;OAEG;IACI,MAAM,IAAI,MAAM;IAIhB,CAAC,OAAO,CAAC,MAAM,CAAC;IAIvB;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;CAGvF"}
1
+ {"version":3,"file":"secret_value.d.ts","sourceRoot":"","sources":["../../src/config/secret_value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAEnC;;GAEG;AACH,qBAAa,WAAW,CAAC,CAAC;;IAMtB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAFhC,YACE,KAAK,EAAE,CAAC,EACS,aAAa,SAAe,EAG9C;IAED;;OAEG;IACI,QAAQ,IAAI,CAAC,CAEnB;IAED;;OAEG;IACI,QAAQ,IAAI,MAAM,CAExB;IAED;;OAEG;IACI,MAAM,IAAI,MAAM,CAEtB;IAEM,CAAC,OAAO,CAAC,MAAM,CAAC,WAEtB;IAED;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAE3E;CACF"}
@@ -1,4 +1,6 @@
1
+ var _computedKey;
1
2
  import { inspect } from 'util';
3
+ _computedKey = inspect.custom;
2
4
  /**
3
5
  * A class wrapping a secret value to protect it from accidently being leaked in logs
4
6
  */ export class SecretValue {
@@ -23,7 +25,7 @@ import { inspect } from 'util';
23
25
  */ toJSON() {
24
26
  return this.redactedValue;
25
27
  }
26
- [inspect.custom]() {
28
+ [_computedKey]() {
27
29
  return this.toString();
28
30
  }
29
31
  /**
@@ -26,7 +26,8 @@ export declare class Aes128 {
26
26
  * @param iv - AES initialization vector.
27
27
  * @param key - Key to decrypt with.
28
28
  * @returns Decrypted data.
29
+ * @throws If the decrypted buffer has invalid PKCS#7 padding.
29
30
  */
30
31
  decryptBufferCBC(data: Uint8Array, iv: Uint8Array, key: Uint8Array): Promise<Buffer<ArrayBufferLike>>;
31
32
  }
32
- //# sourceMappingURL=index.d.ts.map
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vYWVzMTI4L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFaEM7O0dBRUc7QUFDSCxxQkFBYSxNQUFNO0lBQ2pCOzs7Ozs7T0FNRztJQUNVLGdCQUFnQixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsVUFBVSxnQ0FrQjlFO0lBRUQ7Ozs7Ozs7T0FPRztJQUNVLDJCQUEyQixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FVM0c7SUFFRDs7Ozs7OztPQU9HO0lBQ1UsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxVQUFVLG9DQVk5RTtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/aes128/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC;;GAEG;AACH,qBAAa,MAAM;IACjB;;;;;;OAMG;IACU,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU;IAoB/E;;;;;;;OAOG;IACU,2BAA2B,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAY5G;;;;;;OAMG;IACU,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU;CAKhF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/aes128/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC;;GAEG;AACH,qBAAa,MAAM;IACjB;;;;;;OAMG;IACU,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,gCAkB9E;IAED;;;;;;;OAOG;IACU,2BAA2B,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAU3G;IAED;;;;;;;OAOG;IACU,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,oCAY9E;CACF"}
@@ -20,9 +20,7 @@ import { Buffer } from 'buffer';
20
20
  data,
21
21
  paddingBuffer
22
22
  ]);
23
- await BarretenbergSync.initSingleton({
24
- wasmPath: process.env.BB_WASM_PATH
25
- });
23
+ await BarretenbergSync.initSingleton();
26
24
  const api = BarretenbergSync.getSingleton();
27
25
  const response = api.aesEncrypt({
28
26
  plaintext: input,
@@ -40,9 +38,7 @@ import { Buffer } from 'buffer';
40
38
  * @param key - Key to decrypt with.
41
39
  * @returns Decrypted data.
42
40
  */ async decryptBufferCBCKeepPadding(data, iv, key) {
43
- await BarretenbergSync.initSingleton({
44
- wasmPath: process.env.BB_WASM_PATH
45
- });
41
+ await BarretenbergSync.initSingleton();
46
42
  const api = BarretenbergSync.getSingleton();
47
43
  const response = api.aesDecrypt({
48
44
  ciphertext: data,
@@ -58,9 +54,18 @@ import { Buffer } from 'buffer';
58
54
  * @param iv - AES initialization vector.
59
55
  * @param key - Key to decrypt with.
60
56
  * @returns Decrypted data.
57
+ * @throws If the decrypted buffer has invalid PKCS#7 padding.
61
58
  */ async decryptBufferCBC(data, iv, key) {
62
59
  const paddedBuffer = await this.decryptBufferCBCKeepPadding(data, iv, key);
63
- const paddingToRemove = paddedBuffer[paddedBuffer.length - 1];
64
- return paddedBuffer.subarray(0, paddedBuffer.length - paddingToRemove);
60
+ const paddingLen = paddedBuffer[paddedBuffer.length - 1];
61
+ if (paddingLen === 0 || paddingLen > 16) {
62
+ throw new Error(`Invalid PKCS#7 padding length: ${paddingLen}`);
63
+ }
64
+ for(let i = paddedBuffer.length - paddingLen; i < paddedBuffer.length; i++){
65
+ if (paddedBuffer[i] !== paddingLen) {
66
+ throw new Error('Invalid PKCS#7 padding');
67
+ }
68
+ }
69
+ return paddedBuffer.subarray(0, paddedBuffer.length - paddingLen);
65
70
  }
66
71
  }