@aztec/foundation 0.0.1-commit.d431d1c → 0.0.1-commit.d58ff9d0

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 (338) hide show
  1. package/dest/array/sorted_array.d.ts +6 -1
  2. package/dest/array/sorted_array.d.ts.map +1 -1
  3. package/dest/array/sorted_array.js +18 -15
  4. package/dest/bigint-buffer/index.d.ts +1 -1
  5. package/dest/bigint-buffer/index.d.ts.map +1 -1
  6. package/dest/bigint-buffer/index.js +6 -1
  7. package/dest/branded-types/block_number.d.ts +3 -3
  8. package/dest/branded-types/block_number.d.ts.map +1 -1
  9. package/dest/branded-types/block_number.js +15 -4
  10. package/dest/branded-types/buffer32_hash.d.ts +27 -0
  11. package/dest/branded-types/buffer32_hash.d.ts.map +1 -0
  12. package/dest/branded-types/buffer32_hash.js +12 -0
  13. package/dest/branded-types/checkpoint_number.d.ts +9 -3
  14. package/dest/branded-types/checkpoint_number.d.ts.map +1 -1
  15. package/dest/branded-types/checkpoint_number.js +11 -0
  16. package/dest/branded-types/epoch.d.ts +2 -2
  17. package/dest/branded-types/epoch.d.ts.map +1 -1
  18. package/dest/branded-types/index.d.ts +2 -1
  19. package/dest/branded-types/index.d.ts.map +1 -1
  20. package/dest/branded-types/index.js +1 -0
  21. package/dest/branded-types/index_within_checkpoint.d.ts +2 -2
  22. package/dest/branded-types/index_within_checkpoint.d.ts.map +1 -1
  23. package/dest/branded-types/slot.d.ts +5 -2
  24. package/dest/branded-types/slot.d.ts.map +1 -1
  25. package/dest/branded-types/slot.js +3 -0
  26. package/dest/buffer/buffer16.d.ts +3 -1
  27. package/dest/buffer/buffer16.d.ts.map +1 -1
  28. package/dest/buffer/buffer32.d.ts +28 -61
  29. package/dest/buffer/buffer32.d.ts.map +1 -1
  30. package/dest/buffer/buffer32.js +29 -63
  31. package/dest/buffer/index.d.ts +2 -1
  32. package/dest/buffer/index.d.ts.map +1 -1
  33. package/dest/buffer/index.js +1 -0
  34. package/dest/buffer/utils.d.ts +3 -0
  35. package/dest/buffer/utils.d.ts.map +1 -0
  36. package/dest/buffer/utils.js +7 -0
  37. package/dest/collection/array.d.ts +22 -1
  38. package/dest/collection/array.d.ts.map +1 -1
  39. package/dest/collection/array.js +84 -0
  40. package/dest/collection/index.d.ts +3 -1
  41. package/dest/collection/index.d.ts.map +1 -1
  42. package/dest/collection/index.js +2 -0
  43. package/dest/collection/lru_map.d.ts +41 -0
  44. package/dest/collection/lru_map.d.ts.map +1 -0
  45. package/dest/collection/lru_map.js +119 -0
  46. package/dest/collection/lru_set.d.ts +35 -0
  47. package/dest/collection/lru_set.d.ts.map +1 -0
  48. package/dest/collection/lru_set.js +95 -0
  49. package/dest/committable/committable.js +1 -1
  50. package/dest/config/env_var.d.ts +2 -2
  51. package/dest/config/env_var.d.ts.map +1 -1
  52. package/dest/config/index.d.ts +67 -37
  53. package/dest/config/index.d.ts.map +1 -1
  54. package/dest/config/index.js +86 -70
  55. package/dest/config/network_config.d.ts +15 -41
  56. package/dest/config/network_config.d.ts.map +1 -1
  57. package/dest/config/network_config.js +4 -1
  58. package/dest/config/network_name.d.ts +2 -2
  59. package/dest/config/network_name.d.ts.map +1 -1
  60. package/dest/config/network_name.js +3 -3
  61. package/dest/config/secret_value.d.ts +2 -2
  62. package/dest/config/secret_value.d.ts.map +1 -1
  63. package/dest/crypto/aes128/index.d.ts +2 -1
  64. package/dest/crypto/aes128/index.d.ts.map +1 -1
  65. package/dest/crypto/aes128/index.js +11 -2
  66. package/dest/crypto/bls/bn254_keystore.d.ts +10 -177
  67. package/dest/crypto/bls/bn254_keystore.d.ts.map +1 -1
  68. package/dest/crypto/bls/bn254_keystore.js +22 -34
  69. package/dest/crypto/keys/index.d.ts +3 -2
  70. package/dest/crypto/keys/index.d.ts.map +1 -1
  71. package/dest/crypto/keys/index.js +30 -6
  72. package/dest/crypto/poseidon/index.d.ts +1 -2
  73. package/dest/crypto/poseidon/index.d.ts.map +1 -1
  74. package/dest/crypto/poseidon/index.js +40 -42
  75. package/dest/crypto/random/randomness_singleton.d.ts +4 -3
  76. package/dest/crypto/random/randomness_singleton.d.ts.map +1 -1
  77. package/dest/crypto/random/randomness_singleton.js +4 -4
  78. package/dest/crypto/schnorr/index.d.ts +8 -7
  79. package/dest/crypto/schnorr/index.d.ts.map +1 -1
  80. package/dest/crypto/schnorr/index.js +6 -6
  81. package/dest/crypto/schnorr/signature.d.ts +9 -29
  82. package/dest/crypto/schnorr/signature.d.ts.map +1 -1
  83. package/dest/crypto/schnorr/signature.js +20 -36
  84. package/dest/crypto/secp256k1-signer/utils.d.ts +12 -1
  85. package/dest/crypto/secp256k1-signer/utils.d.ts.map +1 -1
  86. package/dest/crypto/secp256k1-signer/utils.js +26 -0
  87. package/dest/crypto/sync/poseidon/index.d.ts +1 -2
  88. package/dest/crypto/sync/poseidon/index.d.ts.map +1 -1
  89. package/dest/crypto/sync/poseidon/index.js +0 -8
  90. package/dest/curves/bls12/field.d.ts +3 -3
  91. package/dest/curves/bls12/field.d.ts.map +1 -1
  92. package/dest/curves/bls12/field.js +0 -5
  93. package/dest/curves/bls12/point.d.ts +2 -2
  94. package/dest/curves/bls12/point.d.ts.map +1 -1
  95. package/dest/curves/bn254/field.d.ts +24 -19
  96. package/dest/curves/bn254/field.d.ts.map +1 -1
  97. package/dest/curves/bn254/field.js +28 -19
  98. package/dest/curves/grumpkin/point.d.ts +14 -28
  99. package/dest/curves/grumpkin/point.d.ts.map +1 -1
  100. package/dest/curves/grumpkin/point.js +29 -43
  101. package/dest/eth-address/index.d.ts +2 -2
  102. package/dest/eth-address/index.d.ts.map +1 -1
  103. package/dest/eth-address/index.js +0 -3
  104. package/dest/eth-signature/eth_signature.d.ts +3 -2
  105. package/dest/eth-signature/eth_signature.d.ts.map +1 -1
  106. package/dest/eth-signature/eth_signature.js +7 -2
  107. package/dest/fifo/fifo_frame_reader.d.ts +41 -0
  108. package/dest/fifo/fifo_frame_reader.d.ts.map +1 -0
  109. package/dest/fifo/fifo_frame_reader.js +91 -0
  110. package/dest/fifo/index.d.ts +2 -0
  111. package/dest/fifo/index.d.ts.map +1 -0
  112. package/dest/fifo/index.js +1 -0
  113. package/dest/fifo_set/fifo_set.d.ts +15 -0
  114. package/dest/fifo_set/fifo_set.d.ts.map +1 -0
  115. package/dest/fifo_set/fifo_set.js +39 -0
  116. package/dest/fifo_set/index.d.ts +2 -0
  117. package/dest/fifo_set/index.d.ts.map +1 -0
  118. package/dest/fifo_set/index.js +1 -0
  119. package/dest/jest/setup.js +28 -1
  120. package/dest/json-rpc/client/fetch.d.ts +1 -1
  121. package/dest/json-rpc/client/fetch.d.ts.map +1 -1
  122. package/dest/json-rpc/client/fetch.js +4 -3
  123. package/dest/json-rpc/client/safe_json_rpc_client.d.ts +2 -1
  124. package/dest/json-rpc/client/safe_json_rpc_client.d.ts.map +1 -1
  125. package/dest/json-rpc/client/safe_json_rpc_client.js +3 -3
  126. package/dest/json-rpc/client/undici.d.ts +1 -1
  127. package/dest/json-rpc/client/undici.d.ts.map +1 -1
  128. package/dest/json-rpc/client/undici.js +23 -4
  129. package/dest/json-rpc/fixtures/test_state.d.ts +4 -8
  130. package/dest/json-rpc/fixtures/test_state.d.ts.map +1 -1
  131. package/dest/json-rpc/fixtures/test_state.js +57 -17
  132. package/dest/json-rpc/server/api_key_auth.d.ts +19 -0
  133. package/dest/json-rpc/server/api_key_auth.d.ts.map +1 -0
  134. package/dest/json-rpc/server/api_key_auth.js +57 -0
  135. package/dest/json-rpc/server/index.d.ts +2 -1
  136. package/dest/json-rpc/server/index.d.ts.map +1 -1
  137. package/dest/json-rpc/server/index.js +1 -0
  138. package/dest/json-rpc/server/safe_json_rpc_server.d.ts +8 -3
  139. package/dest/json-rpc/server/safe_json_rpc_server.d.ts.map +1 -1
  140. package/dest/json-rpc/server/safe_json_rpc_server.js +28 -14
  141. package/dest/log/bigint-utils.d.ts +5 -0
  142. package/dest/log/bigint-utils.d.ts.map +1 -0
  143. package/dest/log/bigint-utils.js +21 -0
  144. package/dest/log/gcloud-logger-config.d.ts +1 -1
  145. package/dest/log/gcloud-logger-config.d.ts.map +1 -1
  146. package/dest/log/gcloud-logger-config.js +3 -0
  147. package/dest/log/libp2p_logger.d.ts +5 -2
  148. package/dest/log/libp2p_logger.d.ts.map +1 -1
  149. package/dest/log/libp2p_logger.js +14 -4
  150. package/dest/log/log-filters.d.ts +17 -4
  151. package/dest/log/log-filters.d.ts.map +1 -1
  152. package/dest/log/log-filters.js +26 -12
  153. package/dest/log/pino-logger-server.d.ts +9 -0
  154. package/dest/log/pino-logger-server.d.ts.map +1 -0
  155. package/dest/log/pino-logger-server.js +18 -0
  156. package/dest/log/pino-logger.d.ts +37 -8
  157. package/dest/log/pino-logger.d.ts.map +1 -1
  158. package/dest/log/pino-logger.js +137 -29
  159. package/dest/noir/noir_package_config.d.ts +19 -104
  160. package/dest/noir/noir_package_config.d.ts.map +1 -1
  161. package/dest/noir/noir_package_config.js +1 -1
  162. package/dest/promise/running-promise.d.ts +5 -4
  163. package/dest/promise/running-promise.d.ts.map +1 -1
  164. package/dest/promise/running-promise.js +7 -3
  165. package/dest/queue/base_memory_queue.d.ts +2 -2
  166. package/dest/queue/base_memory_queue.d.ts.map +1 -1
  167. package/dest/queue/batch_queue.d.ts +1 -1
  168. package/dest/queue/batch_queue.d.ts.map +1 -1
  169. package/dest/queue/batch_queue.js +1 -0
  170. package/dest/queue/semaphore.d.ts +5 -1
  171. package/dest/queue/semaphore.d.ts.map +1 -1
  172. package/dest/retry/index.d.ts +31 -3
  173. package/dest/retry/index.d.ts.map +1 -1
  174. package/dest/retry/index.js +44 -2
  175. package/dest/schemas/api.d.ts +12 -10
  176. package/dest/schemas/api.d.ts.map +1 -1
  177. package/dest/schemas/api.js +7 -1
  178. package/dest/schemas/parse.d.ts +4 -4
  179. package/dest/schemas/parse.d.ts.map +1 -1
  180. package/dest/schemas/parse.js +6 -5
  181. package/dest/schemas/schemas.d.ts +15 -15
  182. package/dest/schemas/types.d.ts +3 -3
  183. package/dest/schemas/types.d.ts.map +1 -1
  184. package/dest/schemas/utils.d.ts +7 -11
  185. package/dest/schemas/utils.d.ts.map +1 -1
  186. package/dest/schemas/utils.js +2 -18
  187. package/dest/serialize/buffer_reader.d.ts +8 -1
  188. package/dest/serialize/buffer_reader.d.ts.map +1 -1
  189. package/dest/serialize/buffer_reader.js +13 -0
  190. package/dest/serialize/buffer_sink.d.ts +134 -0
  191. package/dest/serialize/buffer_sink.d.ts.map +1 -0
  192. package/dest/serialize/buffer_sink.js +297 -0
  193. package/dest/serialize/index.d.ts +2 -1
  194. package/dest/serialize/index.d.ts.map +1 -1
  195. package/dest/serialize/index.js +1 -0
  196. package/dest/serialize/serialize.d.ts +19 -1
  197. package/dest/serialize/serialize.d.ts.map +1 -1
  198. package/dest/serialize/serialize.js +31 -0
  199. package/dest/sleep/index.d.ts +2 -1
  200. package/dest/sleep/index.d.ts.map +1 -1
  201. package/dest/sleep/index.js +10 -1
  202. package/dest/string/index.js +1 -1
  203. package/dest/testing/files/index.d.ts +2 -3
  204. package/dest/testing/files/index.d.ts.map +1 -1
  205. package/dest/testing/files/index.js +1 -2
  206. package/dest/timer/date.d.ts +25 -1
  207. package/dest/timer/date.d.ts.map +1 -1
  208. package/dest/timer/date.js +33 -0
  209. package/dest/timer/index.d.ts +2 -2
  210. package/dest/timer/index.d.ts.map +1 -1
  211. package/dest/timer/index.js +1 -1
  212. package/dest/timer/timeout.d.ts +3 -1
  213. package/dest/timer/timeout.d.ts.map +1 -1
  214. package/dest/timer/timeout.js +26 -0
  215. package/dest/transport/dispatch/create_dispatch_proxy.d.ts +11 -2
  216. package/dest/transport/dispatch/create_dispatch_proxy.d.ts.map +1 -1
  217. package/dest/transport/index.d.ts +1 -2
  218. package/dest/transport/index.d.ts.map +1 -1
  219. package/dest/transport/index.js +0 -1
  220. package/dest/transport/transport_client.js +2 -2
  221. package/dest/trees/balanced_merkle_tree_root.d.ts +3 -5
  222. package/dest/trees/balanced_merkle_tree_root.d.ts.map +1 -1
  223. package/dest/trees/balanced_merkle_tree_root.js +3 -5
  224. package/dest/trees/hasher.d.ts +3 -3
  225. package/dest/trees/hasher.d.ts.map +1 -1
  226. package/dest/trees/hasher.js +5 -10
  227. package/dest/trees/indexed_merkle_tree_calculator.d.ts +1 -1
  228. package/dest/trees/indexed_merkle_tree_calculator.d.ts.map +1 -1
  229. package/dest/trees/indexed_merkle_tree_calculator.js +5 -1
  230. package/dest/trees/membership_witness.d.ts +2 -2
  231. package/dest/trees/membership_witness.d.ts.map +1 -1
  232. package/dest/trees/merkle_tree_calculator.d.ts +4 -2
  233. package/dest/trees/merkle_tree_calculator.d.ts.map +1 -1
  234. package/dest/trees/merkle_tree_calculator.js +1 -5
  235. package/dest/trees/sibling_path.d.ts +5 -4
  236. package/dest/trees/sibling_path.d.ts.map +1 -1
  237. package/dest/trees/sibling_path.js +10 -8
  238. package/dest/trees/unbalanced_merkle_tree_root.d.ts +2 -3
  239. package/dest/trees/unbalanced_merkle_tree_root.d.ts.map +1 -1
  240. package/dest/trees/unbalanced_merkle_tree_root.js +2 -3
  241. package/dest/types/index.d.ts +25 -1
  242. package/dest/types/index.d.ts.map +1 -1
  243. package/dest/types/index.js +18 -0
  244. package/package.json +27 -4
  245. package/src/array/sorted_array.ts +22 -17
  246. package/src/bigint-buffer/index.ts +6 -1
  247. package/src/branded-types/block_number.ts +20 -2
  248. package/src/branded-types/buffer32_hash.ts +38 -0
  249. package/src/branded-types/checkpoint_number.ts +16 -1
  250. package/src/branded-types/epoch.ts +1 -1
  251. package/src/branded-types/index.ts +1 -0
  252. package/src/branded-types/index_within_checkpoint.ts +1 -1
  253. package/src/branded-types/slot.ts +6 -1
  254. package/src/buffer/buffer16.ts +3 -0
  255. package/src/buffer/buffer32.ts +39 -68
  256. package/src/buffer/index.ts +1 -0
  257. package/src/buffer/utils.ts +8 -0
  258. package/src/collection/array.ts +86 -0
  259. package/src/collection/index.ts +2 -0
  260. package/src/collection/lru_map.ts +143 -0
  261. package/src/collection/lru_set.ts +115 -0
  262. package/src/committable/committable.ts +1 -1
  263. package/src/config/env_var.ts +97 -23
  264. package/src/config/index.ts +157 -121
  265. package/src/config/network_config.ts +3 -0
  266. package/src/config/network_name.ts +6 -6
  267. package/src/config/secret_value.ts +1 -1
  268. package/src/crypto/aes128/index.ts +11 -2
  269. package/src/crypto/bls/bn254_keystore.ts +33 -43
  270. package/src/crypto/keys/index.ts +20 -4
  271. package/src/crypto/poseidon/index.ts +42 -44
  272. package/src/crypto/random/randomness_singleton.ts +9 -5
  273. package/src/crypto/schnorr/index.ts +9 -8
  274. package/src/crypto/schnorr/signature.ts +17 -46
  275. package/src/crypto/secp256k1-signer/utils.ts +32 -0
  276. package/src/crypto/sync/poseidon/index.ts +0 -9
  277. package/src/curves/bls12/field.ts +0 -7
  278. package/src/curves/bn254/field.ts +41 -36
  279. package/src/curves/grumpkin/point.ts +23 -40
  280. package/src/eth-address/index.ts +0 -4
  281. package/src/eth-signature/eth_signature.ts +7 -1
  282. package/src/fifo/fifo_frame_reader.ts +113 -0
  283. package/src/fifo/index.ts +1 -0
  284. package/src/fifo_set/fifo_set.ts +52 -0
  285. package/src/fifo_set/index.ts +1 -0
  286. package/src/jest/setup.mjs +31 -1
  287. package/src/json-rpc/client/fetch.ts +4 -3
  288. package/src/json-rpc/client/safe_json_rpc_client.ts +4 -2
  289. package/src/json-rpc/client/undici.ts +23 -3
  290. package/src/json-rpc/fixtures/test_state.ts +10 -10
  291. package/src/json-rpc/server/api_key_auth.ts +63 -0
  292. package/src/json-rpc/server/index.ts +1 -0
  293. package/src/json-rpc/server/safe_json_rpc_server.ts +32 -14
  294. package/src/log/bigint-utils.ts +25 -0
  295. package/src/log/gcloud-logger-config.ts +5 -0
  296. package/src/log/libp2p_logger.ts +12 -5
  297. package/src/log/log-filters.ts +29 -11
  298. package/src/log/pino-logger-server.ts +25 -0
  299. package/src/log/pino-logger.ts +160 -39
  300. package/src/noir/noir_package_config.ts +32 -20
  301. package/src/promise/running-promise.ts +8 -5
  302. package/src/queue/base_memory_queue.ts +1 -1
  303. package/src/queue/batch_queue.ts +1 -0
  304. package/src/queue/semaphore.ts +5 -0
  305. package/src/retry/index.ts +66 -4
  306. package/src/schemas/api.ts +25 -25
  307. package/src/schemas/parse.ts +9 -6
  308. package/src/schemas/schemas.ts +4 -4
  309. package/src/schemas/types.ts +2 -2
  310. package/src/schemas/utils.ts +4 -38
  311. package/src/serialize/buffer_reader.ts +15 -0
  312. package/src/serialize/buffer_sink.ts +350 -0
  313. package/src/serialize/index.ts +1 -0
  314. package/src/serialize/serialize.ts +32 -0
  315. package/src/sleep/index.ts +10 -1
  316. package/src/string/index.ts +1 -1
  317. package/src/testing/files/index.ts +1 -2
  318. package/src/timer/date.ts +48 -0
  319. package/src/timer/index.ts +1 -1
  320. package/src/timer/timeout.ts +31 -0
  321. package/src/transport/dispatch/create_dispatch_proxy.ts +11 -1
  322. package/src/transport/index.ts +0 -1
  323. package/src/transport/transport_client.ts +2 -2
  324. package/src/trees/balanced_merkle_tree_root.ts +3 -9
  325. package/src/trees/hasher.ts +6 -7
  326. package/src/trees/indexed_merkle_tree_calculator.ts +5 -1
  327. package/src/trees/merkle_tree_calculator.ts +4 -10
  328. package/src/trees/sibling_path.ts +11 -6
  329. package/src/trees/unbalanced_merkle_tree_root.ts +2 -5
  330. package/src/types/index.ts +52 -0
  331. package/dest/crypto/serialize.d.ts +0 -51
  332. package/dest/crypto/serialize.d.ts.map +0 -1
  333. package/dest/crypto/serialize.js +0 -68
  334. package/dest/transport/dispatch/create_dispatch_fn.d.ts +0 -25
  335. package/dest/transport/dispatch/create_dispatch_fn.d.ts.map +0 -1
  336. package/dest/transport/dispatch/create_dispatch_fn.js +0 -17
  337. package/src/crypto/serialize.ts +0 -85
  338. package/src/transport/dispatch/create_dispatch_fn.ts +0 -35
@@ -0,0 +1,143 @@
1
+ /** Node in a doubly-linked list used by {@link LruMap}. */
2
+ type LruNode<K, V> = {
3
+ key: K;
4
+ value: V;
5
+ prev: LruNode<K, V> | undefined;
6
+ next: LruNode<K, V> | undefined;
7
+ };
8
+
9
+ /**
10
+ * A bounded key-value map with Least Recently Used (LRU) eviction.
11
+ * Both {@link get} and {@link set} count as an access and refresh the entry's
12
+ * recency, so entries that are actively used stay in the map longest.
13
+ *
14
+ * Uses a doubly-linked list for O(1) ordering and a Map for O(1) lookup.
15
+ * Head = least recent, tail = most recent.
16
+ */
17
+ export class LruMap<K, V> {
18
+ /** Map from key to its linked-list node for O(1) lookup. */
19
+ private readonly map = new Map<K, LruNode<K, V>>();
20
+ private head: LruNode<K, V> | undefined;
21
+ private tail: LruNode<K, V> | undefined;
22
+
23
+ constructor(private readonly maxSize: number) {
24
+ if (maxSize < 1) {
25
+ throw new Error('LruMap maxSize must be at least 1');
26
+ }
27
+ }
28
+
29
+ /** Number of entries in the map. */
30
+ get size(): number {
31
+ return this.map.size;
32
+ }
33
+
34
+ /** Returns true if the key is present, without refreshing its recency. */
35
+ has(key: K): boolean {
36
+ return this.map.has(key);
37
+ }
38
+
39
+ /**
40
+ * Returns the value for the key, or undefined if absent.
41
+ * Refreshes the entry's recency so it becomes the most recently used.
42
+ */
43
+ get(key: K): V | undefined {
44
+ const node = this.map.get(key);
45
+ if (!node) {
46
+ return undefined;
47
+ }
48
+ this.moveToTail(node);
49
+ return node.value;
50
+ }
51
+
52
+ /**
53
+ * Stores a value for the key, refreshing its recency. If the key already exists, overwrites the value.
54
+ * If the map is at capacity, evicts the least recently used entry.
55
+ */
56
+ set(key: K, value: V): void {
57
+ const existing = this.map.get(key);
58
+ if (existing) {
59
+ existing.value = value;
60
+ this.moveToTail(existing);
61
+ return;
62
+ }
63
+
64
+ if (this.map.size >= this.maxSize) {
65
+ this.evictHead();
66
+ }
67
+
68
+ const node: LruNode<K, V> = { key, value, prev: this.tail, next: undefined };
69
+ if (this.tail) {
70
+ this.tail.next = node;
71
+ } else {
72
+ this.head = node;
73
+ }
74
+ this.tail = node;
75
+ this.map.set(key, node);
76
+ }
77
+
78
+ /** Removes the entry for the key, returning true if it was present. */
79
+ delete(key: K): boolean {
80
+ const node = this.map.get(key);
81
+ if (!node) {
82
+ return false;
83
+ }
84
+ this.unlink(node);
85
+ this.map.delete(key);
86
+ return true;
87
+ }
88
+
89
+ /** Removes all entries from the map. */
90
+ clear(): void {
91
+ this.map.clear();
92
+ this.head = undefined;
93
+ this.tail = undefined;
94
+ }
95
+
96
+ /** Unlinks a node from its current position and relinks it at the tail. */
97
+ private moveToTail(node: LruNode<K, V>): void {
98
+ if (node === this.tail) {
99
+ return;
100
+ }
101
+ this.unlink(node);
102
+
103
+ node.prev = this.tail;
104
+ node.next = undefined;
105
+ if (this.tail) {
106
+ this.tail.next = node;
107
+ } else {
108
+ this.head = node;
109
+ }
110
+ this.tail = node;
111
+ }
112
+
113
+ /** Detaches a node from the linked list, fixing up its neighbours and the head/tail pointers. */
114
+ private unlink(node: LruNode<K, V>): void {
115
+ if (node.prev) {
116
+ node.prev.next = node.next;
117
+ } else {
118
+ this.head = node.next;
119
+ }
120
+ if (node.next) {
121
+ node.next.prev = node.prev;
122
+ } else {
123
+ this.tail = node.prev;
124
+ }
125
+ node.prev = undefined;
126
+ node.next = undefined;
127
+ }
128
+
129
+ /** Evicts the head (least recently used) node. */
130
+ private evictHead(): void {
131
+ const oldHead = this.head;
132
+ if (!oldHead) {
133
+ return;
134
+ }
135
+ this.head = oldHead.next;
136
+ if (this.head) {
137
+ this.head.prev = undefined;
138
+ } else {
139
+ this.tail = undefined;
140
+ }
141
+ this.map.delete(oldHead.key);
142
+ }
143
+ }
@@ -0,0 +1,115 @@
1
+ /** Node in a doubly-linked list used by {@link LruSet}. */
2
+ type LruNode<T> = {
3
+ value: T;
4
+ prev: LruNode<T> | undefined;
5
+ next: LruNode<T> | undefined;
6
+ };
7
+
8
+ /**
9
+ * A bounded set with Least Recently Used (LRU) eviction.
10
+ * Both {@link has} and {@link add} count as an access and refresh the entry's
11
+ * recency, so items that are actively checked stay in the set longest.
12
+ *
13
+ * Uses a doubly-linked list for O(1) ordering and a Map for O(1) lookup.
14
+ * Head = least recent, tail = most recent.
15
+ */
16
+ export class LruSet<T> {
17
+ /** Map from value to its linked-list node for O(1) lookup. */
18
+ private readonly map = new Map<T, LruNode<T>>();
19
+ private head: LruNode<T> | undefined;
20
+ private tail: LruNode<T> | undefined;
21
+
22
+ constructor(private readonly maxSize: number) {
23
+ if (maxSize < 1) {
24
+ throw new Error('LruSet maxSize must be at least 1');
25
+ }
26
+ }
27
+
28
+ /** Number of entries in the set. */
29
+ get size(): number {
30
+ return this.map.size;
31
+ }
32
+
33
+ /**
34
+ * Returns true if the item is in the set.
35
+ * Refreshes the item's recency so it becomes the most recently used.
36
+ */
37
+ has(item: T): boolean {
38
+ const node = this.map.get(item);
39
+ if (!node) {
40
+ return false;
41
+ }
42
+ this.moveToTail(node);
43
+ return true;
44
+ }
45
+
46
+ /**
47
+ * Adds an item to the set. If the item already exists, refreshes its recency.
48
+ * If the set is at capacity, evicts the least recently used item.
49
+ */
50
+ add(item: T): void {
51
+ const existing = this.map.get(item);
52
+ if (existing) {
53
+ this.moveToTail(existing);
54
+ return;
55
+ }
56
+
57
+ if (this.map.size >= this.maxSize) {
58
+ this.evictHead();
59
+ }
60
+
61
+ const node: LruNode<T> = { value: item, prev: this.tail, next: undefined };
62
+ if (this.tail) {
63
+ this.tail.next = node;
64
+ } else {
65
+ this.head = node;
66
+ }
67
+ this.tail = node;
68
+ this.map.set(item, node);
69
+ }
70
+
71
+ /** Removes all entries from the set. */
72
+ clear(): void {
73
+ this.map.clear();
74
+ this.head = undefined;
75
+ this.tail = undefined;
76
+ }
77
+
78
+ /** Unlinks a node from its current position and relinks it at the tail. */
79
+ private moveToTail(node: LruNode<T>): void {
80
+ if (node === this.tail) {
81
+ return;
82
+ }
83
+
84
+ // Unlink
85
+ if (node.prev) {
86
+ node.prev.next = node.next;
87
+ } else {
88
+ this.head = node.next;
89
+ }
90
+ if (node.next) {
91
+ node.next.prev = node.prev;
92
+ }
93
+
94
+ // Relink at tail
95
+ node.prev = this.tail;
96
+ node.next = undefined;
97
+ if (this.tail) {
98
+ this.tail.next = node;
99
+ }
100
+ this.tail = node;
101
+ }
102
+
103
+ /** Evicts the head (least recently used) node. */
104
+ private evictHead(): void {
105
+ const oldHead = this.head!;
106
+ this.map.delete(oldHead.value);
107
+
108
+ this.head = oldHead.next;
109
+ if (this.head) {
110
+ this.head.prev = undefined;
111
+ } else {
112
+ this.tail = undefined;
113
+ }
114
+ }
115
+ }
@@ -24,7 +24,7 @@ export class Committable<T> {
24
24
  * Rolls back the uncommitted value.
25
25
  */
26
26
  public rollback() {
27
- this.nextValue === undefined;
27
+ this.nextValue = undefined;
28
28
  }
29
29
 
30
30
  /**
@@ -1,17 +1,22 @@
1
1
  export type EnvVar =
2
2
  | 'REGISTRY_CONTRACT_ADDRESS'
3
3
  | 'FEE_ASSET_HANDLER_CONTRACT_ADDRESS'
4
- | 'SLASH_FACTORY_CONTRACT_ADDRESS'
5
4
  | 'ACVM_BINARY_PATH'
6
5
  | 'ACVM_WORKING_DIRECTORY'
7
6
  | 'API_KEY'
8
7
  | 'API_PREFIX'
9
- | 'ARCHIVER_MAX_LOGS'
10
8
  | 'ARCHIVER_POLLING_INTERVAL_MS'
9
+ | 'ARCHIVER_SKIP_HISTORICAL_LOGS_CHECK'
11
10
  | 'ARCHIVER_URL'
12
11
  | 'ARCHIVER_VIEM_POLLING_INTERVAL_MS'
13
12
  | 'ARCHIVER_BATCH_SIZE'
13
+ | 'ARCHIVER_ORPHAN_PRUNE_NO_PROPOSAL_TOLERANCE'
14
+ | 'ARCHIVER_SKIP_ORPHAN_PROPOSED_BLOCK_PRUNING'
14
15
  | 'AZTEC_ADMIN_PORT'
16
+ | 'AZTEC_NODE_DEBUG'
17
+ | 'AZTEC_ADMIN_API_KEY_HASH'
18
+ | 'AZTEC_DISABLE_ADMIN_API_KEY'
19
+ | 'AZTEC_RESET_ADMIN_API_KEY'
15
20
  | 'AZTEC_NODE_ADMIN_URL'
16
21
  | 'AZTEC_NODE_URL'
17
22
  | 'AZTEC_PORT'
@@ -20,6 +25,9 @@ export type EnvVar =
20
25
  | 'BB_WORKING_DIRECTORY'
21
26
  | 'BB_NUM_IVC_VERIFIERS'
22
27
  | 'BB_IVC_CONCURRENCY'
28
+ | 'BB_CHONK_VERIFY_MAX_BATCH'
29
+ | 'BB_CHONK_VERIFY_BATCH_CONCURRENCY'
30
+ | 'BB_DEBUG_OUTPUT_DIR'
23
31
  | 'BOOTSTRAP_NODES'
24
32
  | 'BLOB_ARCHIVE_API_URL'
25
33
  | 'BLOB_FILE_STORE_URLS'
@@ -47,7 +55,10 @@ export type EnvVar =
47
55
  | 'BOT_TX_MINED_WAIT_SECONDS'
48
56
  | 'BOT_MAX_CONSECUTIVE_ERRORS'
49
57
  | 'BOT_STOP_WHEN_UNHEALTHY'
50
- | 'BOT_AMM_TXS'
58
+ | 'BOT_MODE'
59
+ | 'BOT_L2_TO_L1_MESSAGES_PER_TX'
60
+ | 'BOT_L1_TO_L2_SEED_COUNT'
61
+ | 'BOT_L1_TO_L2_SEED_INTERVAL'
51
62
  | 'COINBASE'
52
63
  | 'CRS_PATH'
53
64
  | 'DATA_DIRECTORY'
@@ -56,6 +67,7 @@ export type EnvVar =
56
67
  | 'BLOB_SINK_MAP_SIZE_KB'
57
68
  | 'P2P_STORE_MAP_SIZE_KB'
58
69
  | 'PROVER_BROKER_STORE_MAP_SIZE_KB'
70
+ | 'SIGNING_PROTECTION_MAP_SIZE_KB'
59
71
  | 'WS_DB_MAP_SIZE_KB'
60
72
  | 'ARCHIVE_TREE_MAP_SIZE_KB'
61
73
  | 'NULLIFIER_TREE_MAP_SIZE_KB'
@@ -64,6 +76,9 @@ export type EnvVar =
64
76
  | 'PUBLIC_DATA_TREE_MAP_SIZE_KB'
65
77
  | 'DEBUG'
66
78
  | 'DEBUG_P2P_DISABLE_COLOCATION_PENALTY'
79
+ | 'ENABLE_PROVER_NODE'
80
+ | 'USE_AUTOMINE_SEQUENCER'
81
+ | 'AUTOMINE_ENABLE_PROVE_EPOCH'
67
82
  | 'ETHEREUM_HOSTS'
68
83
  | 'ETHEREUM_DEBUG_HOSTS'
69
84
  | 'ETHEREUM_ALLOW_NO_DEBUG_HOSTS'
@@ -73,27 +88,36 @@ export type EnvVar =
73
88
  | 'KEY_STORE_DIRECTORY'
74
89
  | 'L1_CHAIN_ID'
75
90
  | 'L1_CONSENSUS_HOST_URLS'
91
+ | 'ETHEREUM_HTTP_TIMEOUT_MS'
76
92
  | 'L1_CONSENSUS_HOST_API_KEYS'
77
93
  | 'L1_CONSENSUS_HOST_API_KEY_HEADERS'
94
+ | 'L1_TX_FAILED_STORE'
78
95
  | 'LOG_JSON'
79
96
  | 'LOG_MULTILINE'
97
+ | 'LOG_NO_COLOR_PER_ACTOR'
80
98
  | 'LOG_LEVEL'
81
99
  | 'MNEMONIC'
82
100
  | 'NETWORK'
83
101
  | 'NETWORK_CONFIG_LOCATION'
84
- | 'NO_PXE'
102
+ | 'ALLOW_OVERRIDING_NETWORK_CONFIG'
85
103
  | 'USE_GCLOUD_LOGGING'
86
104
  | 'OTEL_EXPORTER_OTLP_METRICS_ENDPOINT'
87
105
  | 'OTEL_EXPORTER_OTLP_TRACES_ENDPOINT'
88
106
  | 'OTEL_EXPORTER_OTLP_LOGS_ENDPOINT'
89
107
  | 'OTEL_COLLECT_INTERVAL_MS'
108
+ | 'OTEL_BSP_MAX_QUEUE_SIZE'
90
109
  | 'OTEL_EXCLUDE_METRICS'
91
110
  | 'OTEL_INCLUDE_METRICS'
111
+ | 'OTEL_MIN_TRACE_DURATION_MS'
92
112
  | 'OTEL_EXPORT_TIMEOUT_MS'
93
113
  | 'PUBLIC_OTEL_EXPORTER_OTLP_METRICS_ENDPOINT'
94
114
  | 'PUBLIC_OTEL_INCLUDE_METRICS'
95
115
  | 'PUBLIC_OTEL_COLLECT_FROM'
96
116
  | 'PUBLIC_OTEL_OPT_OUT'
117
+ | 'P2P_BATCH_TX_REQUESTER_SMART_PARALLEL_WORKER_COUNT'
118
+ | 'P2P_BATCH_TX_REQUESTER_DUMB_PARALLEL_WORKER_COUNT'
119
+ | 'P2P_BATCH_TX_REQUESTER_TX_BATCH_SIZE'
120
+ | 'P2P_BATCH_TX_REQUESTER_BAD_PEER_THRESHOLD'
97
121
  | 'P2P_BLOCK_CHECK_INTERVAL_MS'
98
122
  | 'P2P_BLOCK_REQUEST_BATCH_SIZE'
99
123
  | 'P2P_BOOTSTRAP_NODE_ENR_VERSION_CHECK'
@@ -113,10 +137,14 @@ export type EnvVar =
113
137
  | 'P2P_GOSSIPSUB_TX_INVALID_MESSAGE_DELIVERIES_WEIGHT'
114
138
  | 'P2P_GOSSIPSUB_TX_TOPIC_WEIGHT'
115
139
  | 'P2P_L2_QUEUE_SIZE'
140
+ | 'P2P_MAX_GOSSIP_CLOCK_DISPARITY_MS'
116
141
  | 'P2P_MAX_PEERS'
142
+ | 'P2P_PEER_BAN_DURATION_SECONDS'
117
143
  | 'P2P_PEER_CHECK_INTERVAL_MS'
144
+ | 'P2P_PEER_FAILED_BAN_TIME_MS'
118
145
  | 'P2P_PEER_PENALTY_VALUES'
119
146
  | 'P2P_QUERY_FOR_IP'
147
+ | 'P2P_PUBLIC_IP_SERVICES'
120
148
  | 'P2P_REQRESP_INDIVIDUAL_REQUEST_TIMEOUT_MS'
121
149
  | 'P2P_REQRESP_DIAL_TIMEOUT_MS'
122
150
  | 'P2P_REQRESP_OVERALL_REQUEST_TIMEOUT_MS'
@@ -135,9 +163,13 @@ export type EnvVar =
135
163
  | 'P2P_PREFERRED_PEERS'
136
164
  | 'P2P_MAX_PENDING_TX_COUNT'
137
165
  | 'P2P_SEEN_MSG_CACHE_SIZE'
138
- | 'P2P_DROP_TX'
139
166
  | 'P2P_DROP_TX_CHANCE'
140
167
  | 'P2P_TX_POOL_DELETE_TXS_AFTER_REORG'
168
+ | 'P2P_MIN_TX_POOL_AGE_MS'
169
+ | 'P2P_MISSING_TX_COLLECTION_DEADLINE_SLOTS'
170
+ | 'P2P_RPC_PRICE_BUMP_PERCENTAGE'
171
+ | 'P2P_KEEP_FINALIZED_TXS_FOR_SLOTS'
172
+ | 'P2P_TX_VALIDATION_CACHE_SIZE'
141
173
  | 'DEBUG_P2P_INSTRUMENT_MESSAGES'
142
174
  | 'PEER_ID_PRIVATE_KEY'
143
175
  | 'PEER_ID_PRIVATE_KEY_PATH'
@@ -151,10 +183,15 @@ export type EnvVar =
151
183
  | 'PROVER_BROKER_BATCH_INTERVAL_MS'
152
184
  | 'PROVER_BROKER_BATCH_SIZE'
153
185
  | 'PROVER_BROKER_MAX_EPOCHS_TO_KEEP_RESULTS_FOR'
186
+ | 'PROVER_BROKER_DEBUG_REPLAY_ENABLED'
187
+ | 'PROVER_CANCEL_JOBS_ON_STOP'
188
+ | 'PROVER_ENQUEUE_CONCURRENCY'
154
189
  | 'PROVER_COORDINATION_NODE_URLS'
190
+ | 'PROVER_PROOF_STORE'
155
191
  | 'PROVER_FAILED_PROOF_STORE'
156
192
  | 'PROVER_NODE_FAILED_EPOCH_STORE'
157
193
  | 'PROVER_NODE_DISABLE_PROOF_PUBLISH'
194
+ | 'PROVER_NODE_PROOF_SUBMISSION_TARGET_ADDRESS'
158
195
  | 'PROVER_ID'
159
196
  | 'PROVER_NODE_POLLING_INTERVAL_MS'
160
197
  | 'PROVER_NODE_MAX_PENDING_JOBS'
@@ -173,47 +210,65 @@ export type EnvVar =
173
210
  | 'PROVER_TEST_DELAY_MS'
174
211
  | 'PROVER_TEST_DELAY_TYPE'
175
212
  | 'PROVER_TEST_VERIFICATION_DELAY_MS'
213
+ | 'PXE_AUTO_SYNC'
176
214
  | 'PXE_L2_BLOCK_BATCH_SIZE'
177
215
  | 'PXE_PROVER_ENABLED'
216
+ | 'PXE_SYNC_CHAIN_TIP'
178
217
  | 'RPC_MAX_BATCH_SIZE'
179
218
  | 'RPC_MAX_BODY_SIZE'
180
219
  | 'RPC_SIMULATE_PUBLIC_MAX_GAS_LIMIT'
181
220
  | 'RPC_SIMULATE_PUBLIC_MAX_DEBUG_LOG_MEMORY_READS'
221
+ | 'OFFENSE_COLLECTION_ENABLED'
182
222
  | 'SENTINEL_ENABLED'
183
223
  | 'SENTINEL_HISTORY_LENGTH_IN_EPOCHS'
184
- | 'SENTINEL_HISTORIC_PROVEN_PERFORMANCE_LENGTH_IN_EPOCHS'
185
- | 'SEQ_MAX_BLOCK_SIZE_IN_BYTES'
224
+ | 'SENTINEL_HISTORIC_EPOCH_PERFORMANCE_LENGTH_IN_EPOCHS'
225
+ | 'SENTINEL_EPOCH_END_BUFFER_SLOTS'
186
226
  | 'SEQ_MAX_TX_PER_BLOCK'
227
+ | 'SEQ_MAX_TX_PER_CHECKPOINT'
187
228
  | 'SEQ_MIN_TX_PER_BLOCK'
188
229
  | 'SEQ_PUBLISH_TXS_WITH_PROPOSALS'
189
230
  | 'SEQ_MAX_DA_BLOCK_GAS'
190
231
  | 'SEQ_MAX_L2_BLOCK_GAS'
232
+ | 'SEQ_PER_BLOCK_ALLOCATION_MULTIPLIER'
233
+ | 'SEQ_PER_BLOCK_DA_ALLOCATION_MULTIPLIER'
234
+ | 'SEQ_REDISTRIBUTE_CHECKPOINT_BUDGET'
191
235
  | 'SEQ_PUBLISHER_PRIVATE_KEY'
192
236
  | 'SEQ_PUBLISHER_PRIVATE_KEYS'
193
237
  | 'SEQ_PUBLISHER_ADDRESSES'
194
238
  | 'SEQ_PUBLISHER_ALLOW_INVALID_STATES'
195
239
  | 'SEQ_PUBLISHER_FORWARDER_ADDRESS'
240
+ | 'SEQ_PUBLISHER_PREVIOUS_L1_BLOCK_WAIT_TIMEOUT_MS'
241
+ | 'SEQ_PUBLISHER_PREVIOUS_L1_BLOCK_WAIT_POLL_INTERVAL_MS'
242
+ | 'PUBLISHER_FUNDING_THRESHOLD'
243
+ | 'PUBLISHER_FUNDING_AMOUNT'
196
244
  | 'SEQ_POLLING_INTERVAL_MS'
197
- | 'SEQ_ENFORCE_TIME_TABLE'
198
245
  | 'SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT'
199
246
  | 'SEQ_ATTESTATION_PROPAGATION_TIME'
247
+ | 'SEQ_CHECKPOINT_PROPOSAL_PREPARE_TIME'
248
+ | 'CHECKPOINT_PROPOSAL_SYNC_GRACE_SECONDS'
249
+ | 'SEQ_MIN_BLOCK_DURATION'
200
250
  | 'SEQ_BLOCK_DURATION_MS'
251
+ | 'SEQ_LAST_BLOCK_DURATION_MS'
252
+ | 'SEQ_EXPECTED_BLOCK_PROPOSALS_PER_SLOT'
201
253
  | 'SEQ_BUILD_CHECKPOINT_IF_EMPTY'
202
254
  | 'SEQ_SECONDS_BEFORE_INVALIDATING_BLOCK_AS_COMMITTEE_MEMBER'
203
255
  | 'SEQ_SECONDS_BEFORE_INVALIDATING_BLOCK_AS_NON_COMMITTEE_MEMBER'
204
- | 'SLASH_MIN_PENALTY_PERCENTAGE'
205
- | 'SLASH_MAX_PENALTY_PERCENTAGE'
256
+ | 'SEQ_SKIP_CHECKPOINT_PUBLISH_PERCENT'
206
257
  | 'SLASH_VALIDATORS_ALWAYS'
207
258
  | 'SLASH_VALIDATORS_NEVER'
208
- | 'SLASH_PRUNE_PENALTY'
209
259
  | 'SLASH_DATA_WITHHOLDING_PENALTY'
260
+ | 'SLASH_DATA_WITHHOLDING_TOLERANCE_SLOTS'
210
261
  | 'SLASH_INACTIVITY_PENALTY'
211
262
  | 'SLASH_INACTIVITY_TARGET_PERCENTAGE'
212
263
  | 'SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD'
213
264
  | 'SLASH_INVALID_BLOCK_PENALTY'
265
+ | 'SLASH_INVALID_CHECKPOINT_PROPOSAL_PENALTY'
266
+ | 'SLASH_DUPLICATE_PROPOSAL_PENALTY'
267
+ | 'SLASH_DUPLICATE_ATTESTATION_PENALTY'
214
268
  | 'SLASH_OVERRIDE_PAYLOAD'
215
269
  | 'SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY'
216
- | 'SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY'
270
+ | 'SLASH_PROPOSE_DESCENDANT_OF_CHECKPOINT_WITH_INVALID_ATTESTATIONS_PENALTY'
271
+ | 'SLASH_ATTEST_INVALID_CHECKPOINT_PROPOSAL_PENALTY'
217
272
  | 'SLASH_UNKNOWN_PENALTY'
218
273
  | 'SLASH_GRACE_PERIOD_L2_SLOTS'
219
274
  | 'SLASH_OFFENSE_EXPIRATION_ROUNDS'
@@ -225,31 +280,40 @@ export type EnvVar =
225
280
  | 'TELEMETRY'
226
281
  | 'TEST_ACCOUNTS'
227
282
  | 'SPONSORED_FPC'
283
+ | 'PREFUND_ADDRESSES'
228
284
  | 'TX_COLLECTION_FAST_NODES_TIMEOUT_BEFORE_REQ_RESP_MS'
229
- | 'TX_COLLECTION_SLOW_NODES_INTERVAL_MS'
230
- | 'TX_COLLECTION_SLOW_REQ_RESP_INTERVAL_MS'
231
- | 'TX_COLLECTION_SLOW_REQ_RESP_TIMEOUT_MS'
232
- | 'TX_COLLECTION_RECONCILE_INTERVAL_MS'
233
- | 'TX_COLLECTION_DISABLE_SLOW_DURING_FAST_REQUESTS'
234
285
  | 'TX_COLLECTION_FAST_NODE_INTERVAL_MS'
235
286
  | 'TX_COLLECTION_FAST_MAX_PARALLEL_REQUESTS_PER_NODE'
236
287
  | 'TX_COLLECTION_NODE_RPC_MAX_BATCH_SIZE'
237
288
  | 'TX_COLLECTION_NODE_RPC_URLS'
289
+ | 'TX_COLLECTION_MISSING_TXS_COLLECTOR_TYPE'
290
+ | 'TX_COLLECTION_FILE_STORE_URLS'
291
+ | 'TX_COLLECTION_FILE_STORE_FAST_DELAY_MS'
292
+ | 'TX_COLLECTION_FILE_STORE_FAST_WORKER_COUNT'
293
+ | 'TX_COLLECTION_FILE_STORE_FAST_BACKOFF_BASE_MS'
294
+ | 'TX_COLLECTION_FILE_STORE_FAST_BACKOFF_MAX_MS'
295
+ | 'TX_FILE_STORE_URL'
296
+ | 'TX_FILE_STORE_UPLOAD_CONCURRENCY'
297
+ | 'TX_FILE_STORE_MAX_QUEUE_SIZE'
298
+ | 'TX_FILE_STORE_ENABLED'
238
299
  | 'TX_PUBLIC_SETUP_ALLOWLIST'
239
300
  | 'TXE_PORT'
240
301
  | 'TRANSACTIONS_DISABLED'
241
302
  | 'VALIDATOR_ATTESTATIONS_POLLING_INTERVAL_MS'
242
303
  | 'VALIDATOR_DISABLED'
304
+ | 'VALIDATOR_MAX_DA_BLOCK_GAS'
305
+ | 'VALIDATOR_MAX_L2_BLOCK_GAS'
306
+ | 'VALIDATOR_MAX_TX_PER_BLOCK'
307
+ | 'VALIDATOR_MAX_TX_PER_CHECKPOINT'
243
308
  | 'VALIDATOR_PRIVATE_KEYS'
244
309
  | 'VALIDATOR_PRIVATE_KEY'
245
- | 'VALIDATOR_REEXECUTE'
246
310
  | 'VALIDATOR_ADDRESSES'
247
311
  | 'ROLLUP_VERSION'
248
312
  | 'WS_BLOCK_CHECK_INTERVAL_MS'
249
- | 'WS_PROVEN_BLOCKS_ONLY'
250
313
  | 'WS_BLOCK_REQUEST_BATCH_SIZE'
251
314
  | 'L1_READER_VIEM_POLLING_INTERVAL_MS'
252
315
  | 'WS_DATA_DIRECTORY'
316
+ | 'WS_NUM_HISTORIC_CHECKPOINTS'
253
317
  | 'WS_NUM_HISTORIC_BLOCKS'
254
318
  | 'ETHEREUM_SLOT_DURATION'
255
319
  | 'AZTEC_SLOT_DURATION'
@@ -264,6 +328,7 @@ export type EnvVar =
264
328
  | 'AZTEC_LOCAL_EJECTION_THRESHOLD'
265
329
  | 'AZTEC_MANA_TARGET'
266
330
  | 'AZTEC_PROVING_COST_PER_MANA'
331
+ | 'AZTEC_INITIAL_ETH_PER_FEE_ASSET'
267
332
  | 'AZTEC_SLASHING_QUORUM'
268
333
  | 'AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS'
269
334
  | 'AZTEC_SLASHING_LIFETIME_IN_ROUNDS'
@@ -274,11 +339,16 @@ export type EnvVar =
274
339
  | 'AZTEC_SLASH_AMOUNT_SMALL'
275
340
  | 'AZTEC_SLASH_AMOUNT_MEDIUM'
276
341
  | 'AZTEC_SLASH_AMOUNT_LARGE'
277
- | 'AZTEC_SLASHER_FLAVOR'
342
+ | 'AZTEC_SLASHER_ENABLED'
278
343
  | 'AZTEC_GOVERNANCE_PROPOSER_QUORUM'
279
344
  | 'AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE'
280
345
  | 'AZTEC_GOVERNANCE_VOTING_DURATION'
281
346
  | 'AZTEC_EXIT_DELAY_SECONDS'
347
+ | 'AZTEC_ENTRY_QUEUE_BOOTSTRAP_VALIDATOR_SET_SIZE'
348
+ | 'AZTEC_ENTRY_QUEUE_BOOTSTRAP_FLUSH_SIZE'
349
+ | 'AZTEC_ENTRY_QUEUE_FLUSH_SIZE_MIN'
350
+ | 'AZTEC_ENTRY_QUEUE_FLUSH_SIZE_QUOTIENT'
351
+ | 'AZTEC_ENTRY_QUEUE_MAX_FLUSH_SIZE'
282
352
  | 'L1_GAS_LIMIT_BUFFER_PERCENTAGE'
283
353
  | 'L1_GAS_PRICE_MAX'
284
354
  | 'L1_FEE_PER_GAS_GWEI_MAX'
@@ -303,21 +373,25 @@ export type EnvVar =
303
373
  | 'K8S_POD_NAME'
304
374
  | 'K8S_POD_UID'
305
375
  | 'K8S_NAMESPACE_NAME'
306
- | 'VALIDATOR_REEXECUTE_DEADLINE_MS'
307
- | 'AUTO_UPDATE'
308
- | 'AUTO_UPDATE_URL'
376
+ | 'ENABLE_AUTO_SHUTDOWN'
309
377
  | 'WEB3_SIGNER_URL'
310
378
  | 'SKIP_ARCHIVER_INITIAL_SYNC'
311
379
  | 'BLOB_ALLOW_EMPTY_SOURCES'
380
+ | 'BLOB_PREFER_FILESTORES'
381
+ | 'BLOB_FILE_STORE_TIMEOUT_MS'
312
382
  | 'FISHERMAN_MODE'
313
383
  | 'MAX_ALLOWED_ETH_CLIENT_DRIFT_SECONDS'
384
+ | 'MAX_BLOCKS_PER_CHECKPOINT'
314
385
  | 'LEGACY_BLS_CLI'
315
386
  | 'DEBUG_FORCE_TX_PROOF_VERIFICATION'
387
+ | 'VALIDATOR_ALLOW_EPHEMERAL_SIGNING_PROTECTION'
316
388
  | 'VALIDATOR_HA_SIGNING_ENABLED'
317
389
  | 'VALIDATOR_HA_NODE_ID'
318
390
  | 'VALIDATOR_HA_POLLING_INTERVAL_MS'
319
391
  | 'VALIDATOR_HA_SIGNING_TIMEOUT_MS'
392
+ | 'VALIDATOR_SIGNER_CALL_TIMEOUT_MS'
320
393
  | 'VALIDATOR_HA_MAX_STUCK_DUTIES_AGE_MS'
394
+ | 'VALIDATOR_HA_OLD_DUTIES_MAX_AGE_H'
321
395
  | 'VALIDATOR_HA_DATABASE_URL'
322
396
  | 'VALIDATOR_HA_RUN_MIGRATIONS'
323
397
  | 'VALIDATOR_HA_POOL_MAX'