@aztec/foundation 0.0.0-test.1 → 0.0.1-commit.1142ef1

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 (685) hide show
  1. package/dest/array/array.d.ts +6 -9
  2. package/dest/array/array.d.ts.map +1 -1
  3. package/dest/array/array.js +11 -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 +10 -0
  8. package/dest/array/sorted_array.d.ts.map +1 -0
  9. package/dest/array/sorted_array.js +106 -0
  10. package/dest/async-map/index.d.ts +1 -1
  11. package/dest/async-pool/index.d.ts +1 -1
  12. package/dest/async-pool/index.d.ts.map +1 -1
  13. package/dest/async-pool/index.js +1 -0
  14. package/dest/bigint/index.d.ts +7 -0
  15. package/dest/bigint/index.d.ts.map +1 -0
  16. package/dest/bigint/index.js +15 -0
  17. package/dest/bigint-buffer/index.d.ts +1 -3
  18. package/dest/bigint-buffer/index.d.ts.map +1 -1
  19. package/dest/branded-types/block_number.d.ts +53 -0
  20. package/dest/branded-types/block_number.d.ts.map +1 -0
  21. package/dest/branded-types/block_number.js +75 -0
  22. package/dest/branded-types/checkpoint_number.d.ts +54 -0
  23. package/dest/branded-types/checkpoint_number.d.ts.map +1 -0
  24. package/dest/branded-types/checkpoint_number.js +77 -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 +6 -0
  29. package/dest/branded-types/index.d.ts.map +1 -0
  30. package/dest/branded-types/index.js +4 -0
  31. package/dest/branded-types/slot.d.ts +42 -0
  32. package/dest/branded-types/slot.d.ts.map +1 -0
  33. package/dest/branded-types/slot.js +59 -0
  34. package/dest/branded-types/types.d.ts +5 -0
  35. package/dest/branded-types/types.d.ts.map +1 -0
  36. package/dest/branded-types/types.js +1 -0
  37. package/dest/buffer/buffer16.d.ts +77 -0
  38. package/dest/buffer/buffer16.d.ts.map +1 -0
  39. package/dest/buffer/buffer16.js +102 -0
  40. package/dest/buffer/buffer32.d.ts +5 -12
  41. package/dest/buffer/buffer32.d.ts.map +1 -1
  42. package/dest/buffer/buffer32.js +9 -7
  43. package/dest/buffer/index.d.ts +2 -1
  44. package/dest/buffer/index.d.ts.map +1 -1
  45. package/dest/buffer/index.js +1 -0
  46. package/dest/collection/array.d.ts +17 -4
  47. package/dest/collection/array.d.ts.map +1 -1
  48. package/dest/collection/array.js +57 -3
  49. package/dest/collection/index.d.ts +1 -1
  50. package/dest/collection/object.d.ts +17 -1
  51. package/dest/collection/object.d.ts.map +1 -1
  52. package/dest/collection/object.js +25 -0
  53. package/dest/committable/committable.d.ts +1 -1
  54. package/dest/committable/committable.d.ts.map +1 -1
  55. package/dest/committable/index.d.ts +1 -1
  56. package/dest/config/env_var.d.ts +2 -2
  57. package/dest/config/env_var.d.ts.map +1 -1
  58. package/dest/config/index.d.ts +58 -4
  59. package/dest/config/index.d.ts.map +1 -1
  60. package/dest/config/index.js +129 -12
  61. package/dest/config/network_config.d.ts +54 -0
  62. package/dest/config/network_config.d.ts.map +1 -0
  63. package/dest/config/network_config.js +11 -0
  64. package/dest/config/network_name.d.ts +3 -0
  65. package/dest/config/network_name.d.ts.map +1 -0
  66. package/dest/config/network_name.js +19 -0
  67. package/dest/config/parse-env.d.ts +3 -0
  68. package/dest/config/parse-env.d.ts.map +1 -0
  69. package/dest/config/parse-env.js +7 -0
  70. package/dest/config/secret_value.d.ts +28 -0
  71. package/dest/config/secret_value.d.ts.map +1 -0
  72. package/dest/config/secret_value.js +36 -0
  73. package/dest/crypto/aes128/index.d.ts +3 -5
  74. package/dest/crypto/aes128/index.d.ts.map +1 -1
  75. package/dest/crypto/aes128/index.js +19 -6
  76. package/dest/crypto/bls/bn254_keystore.d.ts +296 -0
  77. package/dest/crypto/bls/bn254_keystore.d.ts.map +1 -0
  78. package/dest/crypto/bls/bn254_keystore.js +218 -0
  79. package/dest/crypto/bls/index.d.ts +13 -0
  80. package/dest/crypto/bls/index.d.ts.map +1 -0
  81. package/dest/crypto/bls/index.js +87 -0
  82. package/dest/crypto/bn254/index.d.ts +39 -0
  83. package/dest/crypto/bn254/index.d.ts.map +1 -0
  84. package/dest/crypto/bn254/index.js +56 -0
  85. package/dest/crypto/ecdsa/index.d.ts +3 -3
  86. package/dest/crypto/ecdsa/index.d.ts.map +1 -1
  87. package/dest/crypto/ecdsa/index.js +62 -48
  88. package/dest/crypto/ecdsa/signature.d.ts +3 -14
  89. package/dest/crypto/ecdsa/signature.d.ts.map +1 -1
  90. package/dest/crypto/ecdsa/signature.js +2 -2
  91. package/dest/crypto/grumpkin/index.d.ts +10 -15
  92. package/dest/crypto/grumpkin/index.d.ts.map +1 -1
  93. package/dest/crypto/grumpkin/index.js +61 -55
  94. package/dest/crypto/keccak/index.d.ts +3 -5
  95. package/dest/crypto/keccak/index.d.ts.map +1 -1
  96. package/dest/crypto/keys/index.d.ts +2 -4
  97. package/dest/crypto/keys/index.d.ts.map +1 -1
  98. package/dest/crypto/keys/index.js +8 -5
  99. package/dest/crypto/pedersen/index.d.ts +1 -1
  100. package/dest/crypto/pedersen/pedersen.noble.d.ts +3 -5
  101. package/dest/crypto/pedersen/pedersen.noble.d.ts.map +1 -1
  102. package/dest/crypto/pedersen/pedersen.wasm.d.ts +4 -6
  103. package/dest/crypto/pedersen/pedersen.wasm.d.ts.map +1 -1
  104. package/dest/crypto/pedersen/pedersen.wasm.js +24 -14
  105. package/dest/crypto/poseidon/index.d.ts +2 -4
  106. package/dest/crypto/poseidon/index.d.ts.map +1 -1
  107. package/dest/crypto/poseidon/index.js +33 -18
  108. package/dest/crypto/random/index.d.ts +2 -4
  109. package/dest/crypto/random/index.d.ts.map +1 -1
  110. package/dest/crypto/random/index.js +2 -34
  111. package/dest/crypto/random/randomness_singleton.d.ts +2 -4
  112. package/dest/crypto/random/randomness_singleton.d.ts.map +1 -1
  113. package/dest/crypto/random/randomness_singleton.js +3 -3
  114. package/dest/crypto/schnorr/index.d.ts +3 -2
  115. package/dest/crypto/schnorr/index.d.ts.map +1 -1
  116. package/dest/crypto/schnorr/index.js +30 -38
  117. package/dest/crypto/schnorr/signature.d.ts +5 -7
  118. package/dest/crypto/schnorr/signature.d.ts.map +1 -1
  119. package/dest/crypto/schnorr/signature.js +2 -2
  120. package/dest/crypto/secp256k1/index.d.ts +5 -7
  121. package/dest/crypto/secp256k1/index.d.ts.map +1 -1
  122. package/dest/crypto/secp256k1/index.js +23 -18
  123. package/dest/crypto/secp256k1-signer/index.d.ts +1 -1
  124. package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts +1 -1
  125. package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts.map +1 -1
  126. package/dest/crypto/secp256k1-signer/utils.d.ts +56 -5
  127. package/dest/crypto/secp256k1-signer/utils.d.ts.map +1 -1
  128. package/dest/crypto/secp256k1-signer/utils.js +92 -6
  129. package/dest/crypto/serialize.d.ts +5 -7
  130. package/dest/crypto/serialize.d.ts.map +1 -1
  131. package/dest/crypto/sha256/index.d.ts +23 -6
  132. package/dest/crypto/sha256/index.d.ts.map +1 -1
  133. package/dest/crypto/sha256/index.js +43 -1
  134. package/dest/crypto/sha512/index.d.ts +3 -5
  135. package/dest/crypto/sha512/index.d.ts.map +1 -1
  136. package/dest/crypto/sha512/index.js +1 -1
  137. package/dest/crypto/signature/index.d.ts +2 -4
  138. package/dest/crypto/signature/index.d.ts.map +1 -1
  139. package/dest/crypto/sync/index.d.ts +1 -1
  140. package/dest/crypto/sync/index.js +1 -1
  141. package/dest/crypto/sync/pedersen/index.d.ts +4 -6
  142. package/dest/crypto/sync/pedersen/index.d.ts.map +1 -1
  143. package/dest/crypto/sync/pedersen/index.js +18 -11
  144. package/dest/crypto/sync/poseidon/index.d.ts +2 -4
  145. package/dest/crypto/sync/poseidon/index.d.ts.map +1 -1
  146. package/dest/crypto/sync/poseidon/index.js +28 -13
  147. package/dest/curves/bls12/field.d.ts +148 -0
  148. package/dest/curves/bls12/field.d.ts.map +1 -0
  149. package/dest/curves/bls12/field.js +362 -0
  150. package/dest/curves/bls12/index.d.ts +3 -0
  151. package/dest/curves/bls12/index.d.ts.map +1 -0
  152. package/dest/curves/bls12/index.js +2 -0
  153. package/dest/curves/bls12/point.d.ts +220 -0
  154. package/dest/curves/bls12/point.d.ts.map +1 -0
  155. package/dest/curves/bls12/point.js +400 -0
  156. package/dest/curves/bn254/field.d.ts +180 -0
  157. package/dest/curves/bn254/field.d.ts.map +1 -0
  158. package/dest/{fields/fields.js → curves/bn254/field.js} +90 -62
  159. package/dest/curves/bn254/index.d.ts +3 -0
  160. package/dest/curves/bn254/index.d.ts.map +1 -0
  161. package/dest/curves/bn254/index.js +2 -0
  162. package/dest/curves/bn254/point.d.ts +54 -0
  163. package/dest/curves/bn254/point.d.ts.map +1 -0
  164. package/dest/curves/bn254/point.js +143 -0
  165. package/dest/curves/grumpkin/index.d.ts +10 -0
  166. package/dest/curves/grumpkin/index.d.ts.map +1 -0
  167. package/dest/curves/grumpkin/index.js +3 -0
  168. package/dest/{fields → curves/grumpkin}/point.d.ts +15 -17
  169. package/dest/curves/grumpkin/point.d.ts.map +1 -0
  170. package/dest/{fields → curves/grumpkin}/point.js +27 -10
  171. package/dest/decorators/index.d.ts +1 -1
  172. package/dest/decorators/memoize.d.ts +1 -1
  173. package/dest/decorators/memoize.d.ts.map +1 -1
  174. package/dest/error/index.d.ts +4 -4
  175. package/dest/error/index.d.ts.map +1 -1
  176. package/dest/eth-address/index.d.ts +18 -9
  177. package/dest/eth-address/index.d.ts.map +1 -1
  178. package/dest/eth-address/index.js +31 -2
  179. package/dest/eth-signature/eth_signature.d.ts +17 -18
  180. package/dest/eth-signature/eth_signature.d.ts.map +1 -1
  181. package/dest/eth-signature/eth_signature.js +31 -17
  182. package/dest/eth-signature/index.d.ts +1 -1
  183. package/dest/fs/index.d.ts +2 -1
  184. package/dest/fs/index.d.ts.map +1 -1
  185. package/dest/fs/index.js +1 -0
  186. package/dest/fs/run_in_dir.d.ts +1 -1
  187. package/dest/fs/try_rm_dir.d.ts +3 -0
  188. package/dest/fs/try_rm_dir.d.ts.map +1 -0
  189. package/dest/fs/try_rm_dir.js +16 -0
  190. package/dest/iterable/all.d.ts +1 -1
  191. package/dest/iterable/filter.d.ts +1 -1
  192. package/dest/iterable/filter.js +1 -1
  193. package/dest/iterable/index.d.ts +1 -1
  194. package/dest/iterable/isAsyncIt.d.ts +1 -1
  195. package/dest/iterable/map.d.ts +1 -1
  196. package/dest/iterable/map.js +1 -1
  197. package/dest/iterable/peek.d.ts +1 -1
  198. package/dest/iterable/sort.d.ts +1 -1
  199. package/dest/iterable/take.d.ts +1 -1
  200. package/dest/iterable/toArray.d.ts +1 -1
  201. package/dest/iterator/filter.d.ts +3 -0
  202. package/dest/iterator/filter.d.ts.map +1 -0
  203. package/dest/iterator/filter.js +7 -0
  204. package/dest/iterator/index.d.ts +2 -0
  205. package/dest/iterator/index.d.ts.map +1 -0
  206. package/dest/iterator/index.js +1 -0
  207. package/dest/jest/env.js +48 -0
  208. package/dest/jest/setupAfterEnv.js +3 -0
  209. package/dest/json-rpc/client/fetch.d.ts +3 -3
  210. package/dest/json-rpc/client/fetch.d.ts.map +1 -1
  211. package/dest/json-rpc/client/fetch.js +16 -30
  212. package/dest/json-rpc/client/index.d.ts +1 -1
  213. package/dest/json-rpc/client/safe_json_rpc_client.d.ts +10 -4
  214. package/dest/json-rpc/client/safe_json_rpc_client.d.ts.map +1 -1
  215. package/dest/json-rpc/client/safe_json_rpc_client.js +173 -13
  216. package/dest/json-rpc/client/undici.d.ts +1 -1
  217. package/dest/json-rpc/client/undici.d.ts.map +1 -1
  218. package/dest/json-rpc/client/undici.js +6 -7
  219. package/dest/json-rpc/convert.d.ts +3 -10
  220. package/dest/json-rpc/convert.d.ts.map +1 -1
  221. package/dest/json-rpc/convert.js +1 -9
  222. package/dest/json-rpc/errors.d.ts +4 -0
  223. package/dest/json-rpc/errors.d.ts.map +1 -0
  224. package/dest/json-rpc/errors.js +6 -0
  225. package/dest/json-rpc/fixtures/class_a.d.ts +4 -2
  226. package/dest/json-rpc/fixtures/class_a.d.ts.map +1 -1
  227. package/dest/json-rpc/fixtures/class_b.d.ts +4 -2
  228. package/dest/json-rpc/fixtures/class_b.d.ts.map +1 -1
  229. package/dest/json-rpc/fixtures/test_state.d.ts +1 -1
  230. package/dest/json-rpc/fixtures/test_state.d.ts.map +1 -1
  231. package/dest/json-rpc/index.d.ts +3 -2
  232. package/dest/json-rpc/index.d.ts.map +1 -1
  233. package/dest/json-rpc/index.js +2 -1
  234. package/dest/json-rpc/js_utils.d.ts +1 -1
  235. package/dest/json-rpc/js_utils.d.ts.map +1 -1
  236. package/dest/json-rpc/server/index.d.ts +1 -1
  237. package/dest/json-rpc/server/safe_json_rpc_server.d.ts +22 -23
  238. package/dest/json-rpc/server/safe_json_rpc_server.d.ts.map +1 -1
  239. package/dest/json-rpc/server/safe_json_rpc_server.js +161 -56
  240. package/dest/json-rpc/test/index.d.ts +1 -1
  241. package/dest/json-rpc/test/integration.d.ts +2 -3
  242. package/dest/json-rpc/test/integration.d.ts.map +1 -1
  243. package/dest/log/console.d.ts +1 -1
  244. package/dest/log/console.d.ts.map +1 -1
  245. package/dest/log/gcloud-logger-config.d.ts +1 -2
  246. package/dest/log/gcloud-logger-config.d.ts.map +1 -1
  247. package/dest/log/gcloud-logger-config.js +1 -9
  248. package/dest/log/index.d.ts +5 -5
  249. package/dest/log/index.d.ts.map +1 -1
  250. package/dest/log/index.js +4 -4
  251. package/dest/log/libp2p_logger.d.ts +1 -1
  252. package/dest/log/libp2p_logger.js +13 -2
  253. package/dest/log/log-filters.d.ts +1 -1
  254. package/dest/log/log-levels.d.ts +1 -1
  255. package/dest/log/log_fn.d.ts +2 -2
  256. package/dest/log/log_fn.d.ts.map +1 -1
  257. package/dest/log/noir_debug_log_util.d.ts +14 -0
  258. package/dest/log/noir_debug_log_util.d.ts.map +1 -0
  259. package/dest/log/noir_debug_log_util.js +14 -0
  260. package/dest/log/pino-logger.d.ts +4 -4
  261. package/dest/log/pino-logger.d.ts.map +1 -1
  262. package/dest/log/pino-logger.js +29 -3
  263. package/dest/message/index.d.ts +1 -1
  264. package/dest/message/index.d.ts.map +1 -1
  265. package/dest/mutex/index.d.ts +1 -1
  266. package/dest/mutex/index.d.ts.map +1 -1
  267. package/dest/mutex/mutex_database.d.ts +1 -1
  268. package/dest/mutex/mutex_database.d.ts.map +1 -1
  269. package/dest/noir/index.d.ts +1 -1
  270. package/dest/noir/noir_package_config.d.ts +9 -9
  271. package/dest/number/index.d.ts +3 -0
  272. package/dest/number/index.d.ts.map +1 -0
  273. package/dest/number/index.js +12 -0
  274. package/dest/profiler/index.d.ts +2 -0
  275. package/dest/profiler/index.d.ts.map +1 -0
  276. package/dest/profiler/index.js +1 -0
  277. package/dest/profiler/profiler.d.ts +8 -0
  278. package/dest/profiler/profiler.d.ts.map +1 -0
  279. package/dest/profiler/profiler.js +97 -0
  280. package/dest/promise/index.d.ts +1 -1
  281. package/dest/promise/running-promise.d.ts +2 -2
  282. package/dest/promise/running-promise.d.ts.map +1 -1
  283. package/dest/promise/running-promise.js +2 -2
  284. package/dest/promise/utils.d.ts +1 -1
  285. package/dest/queue/base_memory_queue.d.ts +1 -1
  286. package/dest/queue/base_memory_queue.d.ts.map +1 -1
  287. package/dest/queue/batch_queue.d.ts +2 -2
  288. package/dest/queue/batch_queue.d.ts.map +1 -1
  289. package/dest/queue/batch_queue.js +1 -1
  290. package/dest/queue/bounded_serial_queue.d.ts +1 -1
  291. package/dest/queue/bounded_serial_queue.d.ts.map +1 -1
  292. package/dest/queue/fifo_memory_queue.d.ts +1 -1
  293. package/dest/queue/fifo_memory_queue.d.ts.map +1 -1
  294. package/dest/queue/index.d.ts +1 -1
  295. package/dest/queue/priority_memory_queue.d.ts +1 -1
  296. package/dest/queue/priority_memory_queue.d.ts.map +1 -1
  297. package/dest/queue/priority_queue.d.ts +1 -1
  298. package/dest/queue/priority_queue.d.ts.map +1 -1
  299. package/dest/queue/semaphore.d.ts +1 -1
  300. package/dest/queue/semaphore.d.ts.map +1 -1
  301. package/dest/queue/serial_queue.d.ts +3 -3
  302. package/dest/queue/serial_queue.d.ts.map +1 -1
  303. package/dest/queue/serial_queue.js +7 -5
  304. package/dest/retry/index.d.ts +4 -3
  305. package/dest/retry/index.d.ts.map +1 -1
  306. package/dest/retry/index.js +2 -2
  307. package/dest/running-promise/index.d.ts +1 -1
  308. package/dest/schemas/api.d.ts +1 -1
  309. package/dest/schemas/api.d.ts.map +1 -1
  310. package/dest/schemas/index.d.ts +1 -1
  311. package/dest/schemas/parse.d.ts +1 -1
  312. package/dest/schemas/parse.js +1 -1
  313. package/dest/schemas/schemas.d.ts +21 -20
  314. package/dest/schemas/schemas.d.ts.map +1 -1
  315. package/dest/schemas/schemas.js +29 -11
  316. package/dest/schemas/types.d.ts +31 -1
  317. package/dest/schemas/types.d.ts.map +1 -1
  318. package/dest/schemas/types.js +25 -1
  319. package/dest/schemas/utils.d.ts +4 -6
  320. package/dest/schemas/utils.d.ts.map +1 -1
  321. package/dest/schemas/utils.js +15 -5
  322. package/dest/serialize/buffer_reader.d.ts +28 -3
  323. package/dest/serialize/buffer_reader.d.ts.map +1 -1
  324. package/dest/serialize/buffer_reader.js +44 -2
  325. package/dest/serialize/field_reader.d.ts +12 -3
  326. package/dest/serialize/field_reader.d.ts.map +1 -1
  327. package/dest/serialize/field_reader.js +19 -2
  328. package/dest/serialize/free_funcs.d.ts +25 -23
  329. package/dest/serialize/free_funcs.d.ts.map +1 -1
  330. package/dest/serialize/free_funcs.js +22 -28
  331. package/dest/serialize/index.d.ts +1 -1
  332. package/dest/serialize/serialize.d.ts +6 -7
  333. package/dest/serialize/serialize.d.ts.map +1 -1
  334. package/dest/serialize/serialize.js +1 -1
  335. package/dest/serialize/type_registry.d.ts +1 -1
  336. package/dest/serialize/type_registry.d.ts.map +1 -1
  337. package/dest/serialize/types.d.ts +1 -1
  338. package/dest/sleep/index.d.ts +3 -1
  339. package/dest/sleep/index.d.ts.map +1 -1
  340. package/dest/sleep/index.js +4 -0
  341. package/dest/string/index.d.ts +8 -3
  342. package/dest/string/index.d.ts.map +1 -1
  343. package/dest/string/index.js +27 -1
  344. package/dest/testing/files/index.d.ts +2 -3
  345. package/dest/testing/files/index.d.ts.map +1 -1
  346. package/dest/testing/files/index.js +3 -3
  347. package/dest/testing/formatting.d.ts +4 -0
  348. package/dest/testing/formatting.d.ts.map +1 -0
  349. package/dest/testing/formatting.js +3 -0
  350. package/dest/testing/index.d.ts +2 -1
  351. package/dest/testing/index.d.ts.map +1 -1
  352. package/dest/testing/index.js +1 -0
  353. package/dest/testing/port_allocator.d.ts +1 -1
  354. package/dest/testing/snapshot_serializer.d.ts +1 -1
  355. package/dest/testing/test_data.d.ts +1 -1
  356. package/dest/timer/date.d.ts +4 -2
  357. package/dest/timer/date.d.ts.map +1 -1
  358. package/dest/timer/date.js +8 -3
  359. package/dest/timer/elapsed.d.ts +1 -1
  360. package/dest/timer/index.d.ts +2 -2
  361. package/dest/timer/index.d.ts.map +1 -1
  362. package/dest/timer/index.js +1 -1
  363. package/dest/timer/timeout.d.ts +19 -6
  364. package/dest/timer/timeout.d.ts.map +1 -1
  365. package/dest/timer/timeout.js +43 -22
  366. package/dest/timer/timer.d.ts +1 -1
  367. package/dest/timer/timer.d.ts.map +1 -1
  368. package/dest/transport/dispatch/create_dispatch_fn.d.ts +1 -1
  369. package/dest/transport/dispatch/create_dispatch_fn.d.ts.map +1 -1
  370. package/dest/transport/dispatch/create_dispatch_proxy.d.ts +1 -1
  371. package/dest/transport/dispatch/messages.d.ts +1 -1
  372. package/dest/transport/index.d.ts +1 -2
  373. package/dest/transport/index.d.ts.map +1 -1
  374. package/dest/transport/index.js +0 -1
  375. package/dest/transport/interface/connector.d.ts +1 -1
  376. package/dest/transport/interface/connector.d.ts.map +1 -1
  377. package/dest/transport/interface/listener.d.ts +1 -2
  378. package/dest/transport/interface/listener.d.ts.map +1 -1
  379. package/dest/transport/interface/socket.d.ts +1 -1
  380. package/dest/transport/interface/socket.d.ts.map +1 -1
  381. package/dest/transport/interface/transferable.d.ts +1 -1
  382. package/dest/transport/node/index.d.ts +1 -1
  383. package/dest/transport/node/node_connector.d.ts +1 -2
  384. package/dest/transport/node/node_connector.d.ts.map +1 -1
  385. package/dest/transport/node/node_connector_socket.d.ts +1 -2
  386. package/dest/transport/node/node_connector_socket.d.ts.map +1 -1
  387. package/dest/transport/node/node_listener.d.ts +1 -2
  388. package/dest/transport/node/node_listener.d.ts.map +1 -1
  389. package/dest/transport/node/node_listener_socket.d.ts +1 -2
  390. package/dest/transport/node/node_listener_socket.d.ts.map +1 -1
  391. package/dest/transport/transport_client.d.ts +1 -2
  392. package/dest/transport/transport_client.d.ts.map +1 -1
  393. package/dest/transport/transport_server.d.ts +1 -10
  394. package/dest/transport/transport_server.d.ts.map +1 -1
  395. package/dest/trees/balanced_merkle_tree.d.ts +22 -0
  396. package/dest/trees/balanced_merkle_tree.d.ts.map +1 -0
  397. package/dest/trees/balanced_merkle_tree.js +66 -0
  398. package/dest/trees/hasher.d.ts +5 -7
  399. package/dest/trees/hasher.d.ts.map +1 -1
  400. package/dest/trees/index.d.ts +3 -1
  401. package/dest/trees/index.d.ts.map +1 -1
  402. package/dest/trees/index.js +2 -0
  403. package/dest/trees/indexed_merkle_tree.d.ts +1 -3
  404. package/dest/trees/indexed_merkle_tree.d.ts.map +1 -1
  405. package/dest/trees/indexed_merkle_tree.js +1 -1
  406. package/dest/trees/indexed_merkle_tree_calculator.d.ts +2 -4
  407. package/dest/trees/indexed_merkle_tree_calculator.d.ts.map +1 -1
  408. package/dest/trees/indexed_tree_leaf.d.ts +1 -3
  409. package/dest/trees/indexed_tree_leaf.d.ts.map +1 -1
  410. package/dest/trees/membership_witness.d.ts +6 -11
  411. package/dest/trees/membership_witness.d.ts.map +1 -1
  412. package/dest/trees/membership_witness.js +14 -1
  413. package/dest/trees/merkle_tree.d.ts +1 -3
  414. package/dest/trees/merkle_tree.d.ts.map +1 -1
  415. package/dest/trees/merkle_tree_calculator.d.ts +2 -4
  416. package/dest/trees/merkle_tree_calculator.d.ts.map +1 -1
  417. package/dest/trees/merkle_tree_calculator.js +1 -1
  418. package/dest/trees/sibling_path.d.ts +6 -42
  419. package/dest/trees/sibling_path.d.ts.map +1 -1
  420. package/dest/trees/sibling_path.js +2 -2
  421. package/dest/trees/unbalanced_merkle_tree.d.ts +25 -10
  422. package/dest/trees/unbalanced_merkle_tree.d.ts.map +1 -1
  423. package/dest/trees/unbalanced_merkle_tree.js +78 -50
  424. package/dest/trees/unbalanced_merkle_tree_calculator.d.ts +48 -0
  425. package/dest/trees/unbalanced_merkle_tree_calculator.d.ts.map +1 -0
  426. package/dest/trees/unbalanced_merkle_tree_calculator.js +154 -0
  427. package/dest/trees/unbalanced_tree_store.d.ts +2 -1
  428. package/dest/trees/unbalanced_tree_store.d.ts.map +1 -1
  429. package/dest/trees/unbalanced_tree_store.js +6 -0
  430. package/dest/types/index.d.ts +28 -3
  431. package/dest/types/index.d.ts.map +1 -1
  432. package/dest/types/index.js +3 -0
  433. package/dest/url/index.d.ts +1 -1
  434. package/dest/url/index.d.ts.map +1 -1
  435. package/dest/url/index.js +1 -1
  436. package/dest/validation/index.d.ts +1 -1
  437. package/package.json +59 -45
  438. package/src/array/array.ts +13 -16
  439. package/src/array/index.ts +1 -0
  440. package/src/array/sorted_array.ts +133 -0
  441. package/src/async-pool/index.ts +1 -0
  442. package/src/bigint/index.ts +20 -0
  443. package/src/branded-types/block_number.ts +112 -0
  444. package/src/branded-types/checkpoint_number.ts +115 -0
  445. package/src/branded-types/epoch.ts +88 -0
  446. package/src/branded-types/index.ts +6 -0
  447. package/src/branded-types/slot.ts +88 -0
  448. package/src/branded-types/types.ts +2 -0
  449. package/src/buffer/buffer16.ts +133 -0
  450. package/src/buffer/buffer32.ts +10 -8
  451. package/src/buffer/index.ts +1 -0
  452. package/src/collection/array.ts +66 -4
  453. package/src/collection/object.ts +37 -0
  454. package/src/config/env_var.ts +177 -58
  455. package/src/config/index.ts +209 -10
  456. package/src/config/network_config.ts +18 -0
  457. package/src/config/network_name.ts +28 -0
  458. package/src/config/parse-env.ts +4 -0
  459. package/src/config/secret_value.ts +49 -0
  460. package/src/crypto/aes128/index.ts +19 -10
  461. package/src/crypto/bls/bn254_keystore.ts +287 -0
  462. package/src/crypto/bls/index.ts +77 -0
  463. package/src/crypto/bn254/index.ts +64 -0
  464. package/src/crypto/ecdsa/index.ts +41 -23
  465. package/src/crypto/ecdsa/signature.ts +2 -2
  466. package/src/crypto/grumpkin/index.ts +38 -46
  467. package/src/crypto/keys/index.ts +6 -6
  468. package/src/crypto/pedersen/pedersen.wasm.ts +23 -19
  469. package/src/crypto/poseidon/index.ts +33 -25
  470. package/src/crypto/random/index.ts +2 -40
  471. package/src/crypto/random/randomness_singleton.ts +2 -4
  472. package/src/crypto/schnorr/index.ts +22 -18
  473. package/src/crypto/schnorr/signature.ts +2 -2
  474. package/src/crypto/secp256k1/index.ts +15 -11
  475. package/src/crypto/secp256k1-signer/utils.ts +120 -7
  476. package/src/crypto/sha256/index.ts +48 -1
  477. package/src/crypto/sha512/index.ts +1 -1
  478. package/src/crypto/signature/index.ts +1 -1
  479. package/src/crypto/sync/index.ts +1 -1
  480. package/src/crypto/sync/pedersen/index.ts +17 -16
  481. package/src/crypto/sync/poseidon/index.ts +28 -23
  482. package/src/curves/bls12/field.ts +463 -0
  483. package/src/curves/bls12/index.ts +2 -0
  484. package/src/curves/bls12/point.ts +450 -0
  485. package/src/{fields/fields.ts → curves/bn254/field.ts} +84 -63
  486. package/src/curves/bn254/index.ts +2 -0
  487. package/src/curves/bn254/point.ts +170 -0
  488. package/src/curves/grumpkin/index.ts +11 -0
  489. package/src/{fields → curves/grumpkin}/point.ts +27 -10
  490. package/src/eth-address/index.ts +35 -3
  491. package/src/eth-signature/eth_signature.ts +44 -22
  492. package/src/fs/index.ts +1 -0
  493. package/src/fs/try_rm_dir.ts +15 -0
  494. package/src/iterable/filter.ts +1 -1
  495. package/src/iterable/map.ts +1 -1
  496. package/src/iterator/filter.ts +11 -0
  497. package/src/iterator/index.ts +1 -0
  498. package/src/jest/env.mjs +52 -0
  499. package/src/jest/setupAfterEnv.mjs +3 -0
  500. package/src/json-rpc/client/fetch.ts +14 -33
  501. package/src/json-rpc/client/safe_json_rpc_client.ts +226 -13
  502. package/src/json-rpc/client/undici.ts +8 -15
  503. package/src/json-rpc/convert.ts +3 -12
  504. package/src/json-rpc/errors.ts +6 -0
  505. package/src/json-rpc/fixtures/class_a.ts +4 -1
  506. package/src/json-rpc/fixtures/class_b.ts +4 -1
  507. package/src/json-rpc/index.ts +2 -1
  508. package/src/json-rpc/server/safe_json_rpc_server.ts +141 -48
  509. package/src/json-rpc/test/integration.ts +1 -1
  510. package/src/log/console.ts +4 -1
  511. package/src/log/gcloud-logger-config.ts +3 -7
  512. package/src/log/index.ts +4 -4
  513. package/src/log/libp2p_logger.ts +21 -2
  514. package/src/log/log_fn.ts +1 -1
  515. package/src/log/noir_debug_log_util.ts +21 -0
  516. package/src/log/pino-logger.ts +35 -3
  517. package/src/message/index.ts +5 -1
  518. package/src/mutex/mutex_database.ts +2 -3
  519. package/src/number/index.ts +14 -0
  520. package/src/profiler/index.ts +1 -0
  521. package/src/profiler/profiler.ts +125 -0
  522. package/src/promise/running-promise.ts +2 -2
  523. package/src/queue/batch_queue.ts +1 -1
  524. package/src/queue/bounded_serial_queue.ts +4 -1
  525. package/src/queue/serial_queue.ts +5 -5
  526. package/src/retry/index.ts +10 -5
  527. package/src/schemas/api.ts +4 -4
  528. package/src/schemas/parse.ts +1 -1
  529. package/src/schemas/schemas.ts +42 -13
  530. package/src/schemas/types.ts +33 -0
  531. package/src/schemas/utils.ts +21 -8
  532. package/src/serialize/buffer_reader.ts +60 -3
  533. package/src/serialize/field_reader.ts +28 -4
  534. package/src/serialize/free_funcs.ts +26 -32
  535. package/src/serialize/serialize.ts +3 -1
  536. package/src/sleep/index.ts +6 -0
  537. package/src/string/index.ts +36 -1
  538. package/src/testing/files/index.ts +7 -3
  539. package/src/testing/formatting.ts +3 -0
  540. package/src/testing/index.ts +1 -0
  541. package/src/timer/date.ts +13 -3
  542. package/src/timer/index.ts +1 -1
  543. package/src/timer/timeout.ts +54 -19
  544. package/src/transport/index.ts +0 -1
  545. package/src/transport/interface/connector.ts +0 -1
  546. package/src/transport/interface/listener.ts +2 -3
  547. package/src/transport/interface/socket.ts +2 -3
  548. package/src/transport/transport_client.ts +3 -4
  549. package/src/transport/transport_server.ts +4 -1
  550. package/src/trees/balanced_merkle_tree.ts +84 -0
  551. package/src/trees/hasher.ts +4 -4
  552. package/src/trees/index.ts +2 -0
  553. package/src/trees/indexed_merkle_tree.ts +6 -2
  554. package/src/trees/indexed_merkle_tree_calculator.ts +2 -2
  555. package/src/trees/membership_witness.ts +14 -1
  556. package/src/trees/merkle_tree.ts +4 -1
  557. package/src/trees/merkle_tree_calculator.ts +10 -5
  558. package/src/trees/sibling_path.ts +2 -2
  559. package/src/trees/unbalanced_merkle_tree.ts +112 -42
  560. package/src/trees/unbalanced_merkle_tree_calculator.ts +177 -0
  561. package/src/trees/unbalanced_tree_store.ts +5 -1
  562. package/src/types/index.ts +30 -4
  563. package/src/url/index.ts +0 -1
  564. package/dest/crypto/index.d.ts +0 -15
  565. package/dest/crypto/index.d.ts.map +0 -1
  566. package/dest/crypto/index.js +0 -14
  567. package/dest/crypto/pedersen/pedersen.elliptic.d.ts +0 -13
  568. package/dest/crypto/pedersen/pedersen.elliptic.d.ts.map +0 -1
  569. package/dest/crypto/pedersen/pedersen.elliptic.js +0 -582
  570. package/dest/fields/coordinate.d.ts +0 -68
  571. package/dest/fields/coordinate.d.ts.map +0 -1
  572. package/dest/fields/coordinate.js +0 -96
  573. package/dest/fields/fields.d.ts +0 -176
  574. package/dest/fields/fields.d.ts.map +0 -1
  575. package/dest/fields/index.d.ts +0 -4
  576. package/dest/fields/index.d.ts.map +0 -1
  577. package/dest/fields/index.js +0 -3
  578. package/dest/fields/point.d.ts.map +0 -1
  579. package/dest/index.d.ts +0 -31
  580. package/dest/index.d.ts.map +0 -1
  581. package/dest/index.js +0 -31
  582. package/dest/json-rpc/server/telemetry.d.ts +0 -2
  583. package/dest/json-rpc/server/telemetry.d.ts.map +0 -1
  584. package/dest/json-rpc/server/telemetry.js +0 -0
  585. package/dest/log/debug.d.ts +0 -56
  586. package/dest/log/debug.d.ts.map +0 -1
  587. package/dest/log/debug.js +0 -75
  588. package/dest/log/log_history.d.ts +0 -31
  589. package/dest/log/log_history.d.ts.map +0 -1
  590. package/dest/log/log_history.js +0 -38
  591. package/dest/transport/browser/index.d.ts +0 -5
  592. package/dest/transport/browser/index.d.ts.map +0 -1
  593. package/dest/transport/browser/index.js +0 -4
  594. package/dest/transport/browser/message_port_socket.d.ts +0 -37
  595. package/dest/transport/browser/message_port_socket.d.ts.map +0 -1
  596. package/dest/transport/browser/message_port_socket.js +0 -42
  597. package/dest/transport/browser/shared_worker_connector.d.ts +0 -19
  598. package/dest/transport/browser/shared_worker_connector.d.ts.map +0 -1
  599. package/dest/transport/browser/shared_worker_connector.js +0 -19
  600. package/dest/transport/browser/shared_worker_listener.d.ts +0 -38
  601. package/dest/transport/browser/shared_worker_listener.d.ts.map +0 -1
  602. package/dest/transport/browser/shared_worker_listener.js +0 -33
  603. package/dest/transport/browser/worker_connector.d.ts +0 -26
  604. package/dest/transport/browser/worker_connector.d.ts.map +0 -1
  605. package/dest/transport/browser/worker_connector.js +0 -30
  606. package/dest/transport/browser/worker_listener.d.ts +0 -39
  607. package/dest/transport/browser/worker_listener.d.ts.map +0 -1
  608. package/dest/transport/browser/worker_listener.js +0 -35
  609. package/dest/wasm/empty_wasi_sdk.d.ts +0 -130
  610. package/dest/wasm/empty_wasi_sdk.d.ts.map +0 -1
  611. package/dest/wasm/empty_wasi_sdk.js +0 -148
  612. package/dest/wasm/index.d.ts +0 -2
  613. package/dest/wasm/index.d.ts.map +0 -1
  614. package/dest/wasm/index.js +0 -1
  615. package/dest/wasm/wasm_module.d.ts +0 -136
  616. package/dest/wasm/wasm_module.d.ts.map +0 -1
  617. package/dest/wasm/wasm_module.js +0 -196
  618. package/dest/worker/browser/index.d.ts +0 -3
  619. package/dest/worker/browser/index.d.ts.map +0 -1
  620. package/dest/worker/browser/index.js +0 -2
  621. package/dest/worker/browser/start_web_module.d.ts +0 -7
  622. package/dest/worker/browser/start_web_module.d.ts.map +0 -1
  623. package/dest/worker/browser/start_web_module.js +0 -27
  624. package/dest/worker/browser/web_data_store.d.ts +0 -24
  625. package/dest/worker/browser/web_data_store.d.ts.map +0 -1
  626. package/dest/worker/browser/web_data_store.js +0 -29
  627. package/dest/worker/browser/web_worker.d.ts +0 -10
  628. package/dest/worker/browser/web_worker.d.ts.map +0 -1
  629. package/dest/worker/browser/web_worker.js +0 -25
  630. package/dest/worker/data_store.d.ts +0 -21
  631. package/dest/worker/data_store.d.ts.map +0 -1
  632. package/dest/worker/data_store.js +0 -3
  633. package/dest/worker/index.d.ts +0 -3
  634. package/dest/worker/index.d.ts.map +0 -1
  635. package/dest/worker/index.js +0 -1
  636. package/dest/worker/node/index.d.ts +0 -3
  637. package/dest/worker/node/index.d.ts.map +0 -1
  638. package/dest/worker/node/index.js +0 -2
  639. package/dest/worker/node/node_data_store.d.ts +0 -13
  640. package/dest/worker/node/node_data_store.d.ts.map +0 -1
  641. package/dest/worker/node/node_data_store.js +0 -20
  642. package/dest/worker/node/node_worker.d.ts +0 -6
  643. package/dest/worker/node/node_worker.d.ts.map +0 -1
  644. package/dest/worker/node/node_worker.js +0 -22
  645. package/dest/worker/node/start_node_module.d.ts +0 -7
  646. package/dest/worker/node/start_node_module.d.ts.map +0 -1
  647. package/dest/worker/node/start_node_module.js +0 -31
  648. package/dest/worker/wasm_worker.d.ts +0 -9
  649. package/dest/worker/wasm_worker.d.ts.map +0 -1
  650. package/dest/worker/wasm_worker.js +0 -3
  651. package/dest/worker/worker_pool.d.ts +0 -40
  652. package/dest/worker/worker_pool.d.ts.map +0 -1
  653. package/dest/worker/worker_pool.js +0 -51
  654. package/src/crypto/index.ts +0 -14
  655. package/src/crypto/pedersen/pedersen.elliptic.ts +0 -584
  656. package/src/fields/coordinate.ts +0 -104
  657. package/src/fields/index.ts +0 -3
  658. package/src/index.ts +0 -31
  659. package/src/json-rpc/server/telemetry.ts +0 -0
  660. package/src/log/debug.ts +0 -104
  661. package/src/log/log_history.ts +0 -44
  662. package/src/transport/browser/index.ts +0 -4
  663. package/src/transport/browser/message_port_socket.ts +0 -48
  664. package/src/transport/browser/shared_worker_connector.ts +0 -21
  665. package/src/transport/browser/shared_worker_listener.ts +0 -53
  666. package/src/transport/browser/worker_connector.ts +0 -30
  667. package/src/transport/browser/worker_listener.ts +0 -54
  668. package/src/wasm/README.md +0 -6
  669. package/src/wasm/empty_wasi_sdk.ts +0 -166
  670. package/src/wasm/fixtures/gcd.wasm +0 -0
  671. package/src/wasm/fixtures/gcd.wat +0 -27
  672. package/src/wasm/index.ts +0 -1
  673. package/src/wasm/wasm_module.ts +0 -260
  674. package/src/worker/browser/index.ts +0 -2
  675. package/src/worker/browser/start_web_module.ts +0 -24
  676. package/src/worker/browser/web_data_store.ts +0 -38
  677. package/src/worker/browser/web_worker.ts +0 -25
  678. package/src/worker/data_store.ts +0 -19
  679. package/src/worker/index.ts +0 -2
  680. package/src/worker/node/index.ts +0 -2
  681. package/src/worker/node/node_data_store.ts +0 -27
  682. package/src/worker/node/node_worker.ts +0 -23
  683. package/src/worker/node/start_node_module.ts +0 -30
  684. package/src/worker/wasm_worker.ts +0 -7
  685. package/src/worker/worker_pool.ts +0 -73
@@ -1,6 +1,14 @@
1
+ import { Fq, Fr } from '../curves/bn254/field.js';
2
+ import { createConsoleLogger } from '../log/console.js';
1
3
  import type { EnvVar } from './env_var.js';
4
+ import { type NetworkNames, getActiveNetworkName } from './network_name.js';
5
+ import { parseBooleanEnv } from './parse-env.js';
6
+ import { SecretValue } from './secret_value.js';
2
7
 
3
- export { type EnvVar } from './env_var.js';
8
+ export { SecretValue, getActiveNetworkName };
9
+ export type { EnvVar, NetworkNames };
10
+ export type { NetworkConfig, NetworkConfigMap } from './network_config.js';
11
+ export { NetworkConfigMapSchema, NetworkConfigSchema } from './network_config.js';
4
12
 
5
13
  export interface ConfigMapping {
6
14
  env?: EnvVar;
@@ -10,6 +18,12 @@ export interface ConfigMapping {
10
18
  description: string;
11
19
  isBoolean?: boolean;
12
20
  nested?: Record<string, ConfigMapping>;
21
+ fallback?: EnvVar[];
22
+ /**
23
+ * List of deprecated env vars that are still supported but will log a warning.
24
+ * These should also be included in the fallback array for parsing.
25
+ */
26
+ deprecatedFallback?: { env: EnvVar; message?: string }[];
13
27
  }
14
28
 
15
29
  export function isBooleanConfigValue<T>(obj: T, key: keyof T): boolean {
@@ -18,19 +32,70 @@ export function isBooleanConfigValue<T>(obj: T, key: keyof T): boolean {
18
32
 
19
33
  export type ConfigMappingsType<T> = Record<keyof T, ConfigMapping>;
20
34
 
35
+ /**
36
+ * Shared utility function to get a value from environment variables with fallback support.
37
+ * This can be used by both getConfigFromMappings and CLI utilities.
38
+ *
39
+ * @param env - The primary environment variable name
40
+ * @param fallback - Optional array of fallback environment variable names
41
+ * @param parseFunc - Optional function to parse the environment variable value
42
+ * @param defaultValue - Optional default value to use if no environment variable is set
43
+ * @returns The parsed value from environment variables or the default value
44
+ */
45
+ export function getValueFromEnvWithFallback<T>(
46
+ env: EnvVar | undefined,
47
+ parseFunc: ((val: string) => T) | undefined,
48
+ defaultValue: T | undefined,
49
+ fallback?: EnvVar[],
50
+ ): T | undefined {
51
+ let value: string | undefined;
52
+
53
+ // Try primary env var
54
+ if (env) {
55
+ value = process.env[env];
56
+ }
57
+
58
+ // If primary not found, try fallbacks
59
+ if (value === undefined && fallback && fallback.length > 0) {
60
+ for (const fallbackEnv of fallback) {
61
+ const fallbackVal = process.env[fallbackEnv];
62
+ if (fallbackVal !== undefined) {
63
+ value = fallbackVal;
64
+ break;
65
+ }
66
+ }
67
+ }
68
+
69
+ // Parse the value if needed
70
+ if (value !== undefined) {
71
+ return parseFunc ? parseFunc(value) : (value as unknown as T);
72
+ }
73
+
74
+ // Return default if no env var found
75
+ return defaultValue;
76
+ }
77
+
21
78
  export function getConfigFromMappings<T>(configMappings: ConfigMappingsType<T>): T {
22
79
  const config = {} as T;
23
80
 
24
81
  for (const key in configMappings) {
25
- const { env, parseEnv, defaultValue: def, nested } = configMappings[key];
82
+ const { env, parseEnv, defaultValue, nested, fallback, deprecatedFallback } = configMappings[key];
26
83
  if (nested) {
27
84
  (config as any)[key] = getConfigFromMappings(nested);
28
85
  } else {
29
- const val = env ? process.env[env] : undefined;
30
- if (val !== undefined) {
31
- (config as any)[key] = parseEnv ? parseEnv(val) : val;
32
- } else if (def !== undefined) {
33
- (config as any)[key] = def;
86
+ // Use the shared utility function
87
+ (config as any)[key] = getValueFromEnvWithFallback(env, parseEnv, defaultValue, fallback);
88
+
89
+ // Check for deprecated env vars and warn if logger is set
90
+ if (deprecatedFallback?.length) {
91
+ const userLog = createConsoleLogger('[DEPRECATED]');
92
+ for (const { env: deprecatedEnv, message } of deprecatedFallback) {
93
+ if (process.env[deprecatedEnv]) {
94
+ const warningMessage =
95
+ message ?? `Environment variable ${deprecatedEnv} is deprecated. Please use ${env} instead.`;
96
+ userLog(warningMessage, { deprecatedEnvVar: deprecatedEnv, newEnvVar: env });
97
+ }
98
+ }
34
99
  }
35
100
  }
36
101
  }
@@ -65,6 +130,25 @@ export function numberConfigHelper(defaultVal: number): Pick<ConfigMapping, 'par
65
130
  };
66
131
  }
67
132
 
133
+ /**
134
+ * Generates parseEnv and default values for a numerical config value.
135
+ * @param defaultVal - The default numerical value to use if the environment variable is not set or is invalid
136
+ * @returns Object with parseEnv and default values for a numerical config value
137
+ */
138
+ export function floatConfigHelper(
139
+ defaultVal: number,
140
+ validationFn?: (val: number) => void,
141
+ ): Pick<ConfigMapping, 'parseEnv' | 'defaultValue'> {
142
+ return {
143
+ parseEnv: (val: string): number => {
144
+ const parsed = safeParseFloat(val, defaultVal);
145
+ validationFn?.(parsed);
146
+ return parsed;
147
+ },
148
+ defaultValue: defaultVal,
149
+ };
150
+ }
151
+
68
152
  /**
69
153
  * Generates parseEnv and default values for a numerical config value.
70
154
  * @param defaultVal - The default numerical value to use if the environment variable is not set or is invalid
@@ -97,6 +181,26 @@ export function optionalNumberConfigHelper(): Pick<ConfigMapping, 'parseEnv'> {
97
181
  };
98
182
  }
99
183
 
184
+ /** Generates parseEnv for an enum-like config value. */
185
+ export function enumConfigHelper<T extends string>(
186
+ values: T[],
187
+ defaultValue?: NoInfer<T>,
188
+ ): Pick<ConfigMapping, 'parseEnv' | 'defaultValue'> {
189
+ return {
190
+ parseEnv: (val: string) => {
191
+ const sanitizedVal = (val ?? '').trim().toLowerCase();
192
+ if (values.includes(sanitizedVal as T)) {
193
+ return sanitizedVal as T;
194
+ }
195
+ if (!val && defaultValue) {
196
+ return defaultValue;
197
+ }
198
+ throw new Error(`Invalid config value '${val}' (must be one of ${values.join(', ')})`);
199
+ },
200
+ defaultValue,
201
+ };
202
+ }
203
+
100
204
  /**
101
205
  * Generates parseEnv and default values for a boolean config value.
102
206
  * @param defaultVal - The default value to use if the environment variable is not set or is invalid
@@ -114,9 +218,92 @@ export function booleanConfigHelper(
114
218
  };
115
219
  }
116
220
 
117
- /** Parses an env var as boolean. Returns true only if value is 1, true, or TRUE. */
118
- export function parseBooleanEnv(val: string | undefined): boolean {
119
- return val !== undefined && ['1', 'true', 'TRUE'].includes(val);
221
+ export function secretValueConfigHelper<T>(parse: (val: string | undefined) => T): Required<
222
+ Pick<ConfigMapping, 'parseEnv' | 'defaultValue' | 'isBoolean'> & {
223
+ parseVal: (val: string) => SecretValue<T>;
224
+ }
225
+ > {
226
+ const wrap = (val: string) => new SecretValue(parse(val));
227
+ return {
228
+ parseEnv: wrap,
229
+ parseVal: wrap,
230
+ defaultValue: new SecretValue(parse(undefined)),
231
+ isBoolean: true,
232
+ };
233
+ }
234
+
235
+ export { parseBooleanEnv } from './parse-env.js';
236
+
237
+ export function secretStringConfigHelper(): Required<
238
+ Pick<ConfigMapping, 'parseEnv' | 'defaultValue' | 'isBoolean'> & {
239
+ parseVal: (val: string) => SecretValue<string | undefined>;
240
+ }
241
+ >;
242
+ export function secretStringConfigHelper(defaultValue: string): Required<
243
+ Pick<ConfigMapping, 'parseEnv' | 'defaultValue' | 'isBoolean'> & {
244
+ parseVal: (val: string) => SecretValue<string>;
245
+ }
246
+ >;
247
+ export function secretStringConfigHelper(defaultValue?: string): Required<
248
+ Pick<ConfigMapping, 'parseEnv' | 'defaultValue' | 'isBoolean'> & {
249
+ parseVal: (val: string) => SecretValue<string | typeof defaultValue>;
250
+ }
251
+ > {
252
+ const parse = (val: string) => new SecretValue(val);
253
+ return {
254
+ parseEnv: parse,
255
+ parseVal: parse,
256
+ defaultValue: defaultValue !== undefined ? new SecretValue(defaultValue) : undefined,
257
+ isBoolean: true,
258
+ };
259
+ }
260
+
261
+ export function secretFrConfigHelper(): Required<
262
+ Pick<ConfigMapping, 'parseEnv' | 'defaultValue' | 'isBoolean'> & {
263
+ parseVal: (val: string) => SecretValue<Fr | undefined>;
264
+ }
265
+ >;
266
+ export function secretFrConfigHelper(defaultValue: Fr): Required<
267
+ Pick<ConfigMapping, 'parseEnv' | 'defaultValue' | 'isBoolean'> & {
268
+ parseVal: (val: string) => SecretValue<Fr>;
269
+ }
270
+ >;
271
+ export function secretFrConfigHelper(defaultValue?: Fr): Required<
272
+ Pick<ConfigMapping, 'parseEnv' | 'defaultValue' | 'isBoolean'> & {
273
+ parseVal: (val: string) => SecretValue<Fr | typeof defaultValue>;
274
+ }
275
+ > {
276
+ const parse = (val: string) => new SecretValue(Fr.fromHexString(val));
277
+ return {
278
+ parseEnv: parse,
279
+ parseVal: parse,
280
+ defaultValue: defaultValue !== undefined ? new SecretValue(defaultValue) : undefined,
281
+ isBoolean: true,
282
+ };
283
+ }
284
+
285
+ export function secretFqConfigHelper(defaultValue: Fq): Required<
286
+ Pick<ConfigMapping, 'parseEnv' | 'defaultValue' | 'isBoolean'> & {
287
+ parseVal: (val: string) => SecretValue<Fq>;
288
+ }
289
+ >;
290
+ export function secretFqConfigHelper(): Required<
291
+ Pick<ConfigMapping, 'parseEnv' | 'defaultValue' | 'isBoolean'> & {
292
+ parseVal: (val: string) => SecretValue<Fq | undefined>;
293
+ }
294
+ >;
295
+ export function secretFqConfigHelper(defaultValue?: Fq): Required<
296
+ Pick<ConfigMapping, 'parseEnv' | 'defaultValue' | 'isBoolean'> & {
297
+ parseVal: (val: string) => SecretValue<Fq | typeof defaultValue>;
298
+ }
299
+ > {
300
+ const parse = (val: string) => new SecretValue(Fq.fromHexString(val));
301
+ return {
302
+ parseEnv: parse,
303
+ parseVal: parse,
304
+ defaultValue: typeof defaultValue !== 'undefined' ? new SecretValue(defaultValue) : undefined,
305
+ isBoolean: true,
306
+ };
120
307
  }
121
308
 
122
309
  /**
@@ -131,6 +318,18 @@ function safeParseNumber(value: string, defaultValue: number): number {
131
318
  return Number.isSafeInteger(parsedValue) ? parsedValue : defaultValue;
132
319
  }
133
320
 
321
+ /**
322
+ * Safely parses a floating point number from a string.
323
+ * If the value is not a number, the default value is returned.
324
+ * @param value - The string value to parse
325
+ * @param defaultValue - The default value to return
326
+ * @returns Either parsed value or default value
327
+ */
328
+ function safeParseFloat(value: string, defaultValue: number): number {
329
+ const parsedValue = parseFloat(value);
330
+ return Number.isNaN(parsedValue) ? defaultValue : parsedValue;
331
+ }
332
+
134
333
  /**
135
334
  * Picks specific keys from the given configuration mappings.
136
335
  *
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod';
2
+
3
+ export const NetworkConfigSchema = z
4
+ .object({
5
+ bootnodes: z.array(z.string()),
6
+ snapshots: z.array(z.string()),
7
+ blobFileStoreUrls: z.array(z.string()).optional(),
8
+ registryAddress: z.string(),
9
+ feeAssetHandlerAddress: z.string().optional(),
10
+ l1ChainId: z.number(),
11
+ blockDurationMs: z.number().positive().optional(),
12
+ })
13
+ .passthrough(); // Allow additional unknown fields to pass through
14
+
15
+ export const NetworkConfigMapSchema = z.record(z.string(), NetworkConfigSchema);
16
+
17
+ export type NetworkConfig = z.infer<typeof NetworkConfigSchema>;
18
+ export type NetworkConfigMap = z.infer<typeof NetworkConfigMapSchema>;
@@ -0,0 +1,28 @@
1
+ export type NetworkNames =
2
+ | 'local'
3
+ | 'staging-ignition'
4
+ | 'staging-public'
5
+ | 'testnet'
6
+ | 'mainnet'
7
+ | 'next-net'
8
+ | 'devnet';
9
+
10
+ export function getActiveNetworkName(name?: string): NetworkNames {
11
+ const network = name || process.env.NETWORK;
12
+ if (!network || network === '' || network === 'local') {
13
+ return 'local';
14
+ } else if (network === 'staging-ignition') {
15
+ return network;
16
+ } else if (network === 'staging-public') {
17
+ return network;
18
+ } else if (network === 'testnet' || network === 'alpha-testnet') {
19
+ return 'testnet';
20
+ } else if (network === 'mainnet') {
21
+ return 'mainnet';
22
+ } else if (network === 'next-net') {
23
+ return 'next-net';
24
+ } else if (network === 'devnet') {
25
+ return 'devnet';
26
+ }
27
+ throw new Error(`Unknown network: ${network}`);
28
+ }
@@ -0,0 +1,4 @@
1
+ /** Parses an env var as boolean. Returns true only if value is 1, true, or TRUE. */
2
+ export function parseBooleanEnv(val: string | undefined): boolean {
3
+ return val !== undefined && ['1', 'true', 'TRUE'].includes(val);
4
+ }
@@ -0,0 +1,49 @@
1
+ import { inspect } from 'util';
2
+ import type { ZodType } from 'zod';
3
+
4
+ /**
5
+ * A class wrapping a secret value to protect it from accidently being leaked in logs
6
+ */
7
+ export class SecretValue<T> {
8
+ /** The secret value. Use a private member field so that it's not visible to the outside */
9
+ #value: T;
10
+
11
+ constructor(
12
+ value: T,
13
+ private readonly redactedValue = '[Redacted]',
14
+ ) {
15
+ this.#value = value;
16
+ }
17
+
18
+ /**
19
+ * Returns the wrapped value
20
+ */
21
+ public getValue(): T {
22
+ return this.#value;
23
+ }
24
+
25
+ /**
26
+ * Returns a redacted string representation of the value
27
+ */
28
+ public toString(): string {
29
+ return this.redactedValue;
30
+ }
31
+
32
+ /**
33
+ * Returns a redacted string representation of the value
34
+ */
35
+ public toJSON(): string {
36
+ return this.redactedValue;
37
+ }
38
+
39
+ public [inspect.custom]() {
40
+ return this.toString();
41
+ }
42
+
43
+ /**
44
+ * Returns a Zod schema
45
+ */
46
+ static schema<O>(valueSchema: ZodType<O, any, any>): ZodType<SecretValue<O>, any, any> {
47
+ return valueSchema.transform(value => new SecretValue<O>(value));
48
+ }
49
+ }
@@ -1,4 +1,4 @@
1
- import { BarretenbergSync, RawBuffer } from '@aztec/bb.js';
1
+ import { BarretenbergSync } from '@aztec/bb.js';
2
2
 
3
3
  import { Buffer } from 'buffer';
4
4
 
@@ -22,10 +22,15 @@ export class Aes128 {
22
22
  paddingBuffer.fill(numPaddingBytes);
23
23
  const input = Buffer.concat([data, paddingBuffer]);
24
24
 
25
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
26
- return Buffer.from(
27
- api.aesEncryptBufferCbc(new RawBuffer(input), new RawBuffer(iv), new RawBuffer(key), input.length),
28
- );
25
+ await BarretenbergSync.initSingleton();
26
+ const api = BarretenbergSync.getSingleton();
27
+ const response = api.aesEncrypt({
28
+ plaintext: input,
29
+ iv,
30
+ key,
31
+ length: input.length,
32
+ });
33
+ return Buffer.from(response.ciphertext);
29
34
  }
30
35
 
31
36
  /**
@@ -37,11 +42,15 @@ export class Aes128 {
37
42
  * @returns Decrypted data.
38
43
  */
39
44
  public async decryptBufferCBCKeepPadding(data: Uint8Array, iv: Uint8Array, key: Uint8Array): Promise<Buffer> {
40
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
41
- const paddedBuffer = Buffer.from(
42
- api.aesDecryptBufferCbc(new RawBuffer(data), new RawBuffer(iv), new RawBuffer(key), data.length),
43
- );
44
- return paddedBuffer;
45
+ await BarretenbergSync.initSingleton();
46
+ const api = BarretenbergSync.getSingleton();
47
+ const response = api.aesDecrypt({
48
+ ciphertext: data,
49
+ iv,
50
+ key,
51
+ length: data.length,
52
+ });
53
+ return Buffer.from(response.plaintext);
45
54
  }
46
55
 
47
56
  /**