@aztec/foundation 0.0.1-commit.2ed92850 → 0.0.1-commit.3100065

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 (332) 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 +17 -1
  38. package/dest/collection/array.d.ts.map +1 -1
  39. package/dest/collection/array.js +57 -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/poseidon/index.d.ts +1 -1
  70. package/dest/crypto/poseidon/index.d.ts.map +1 -1
  71. package/dest/crypto/poseidon/index.js +40 -33
  72. package/dest/crypto/random/randomness_singleton.d.ts +4 -3
  73. package/dest/crypto/random/randomness_singleton.d.ts.map +1 -1
  74. package/dest/crypto/random/randomness_singleton.js +4 -4
  75. package/dest/crypto/schnorr/index.d.ts +8 -7
  76. package/dest/crypto/schnorr/index.d.ts.map +1 -1
  77. package/dest/crypto/schnorr/index.js +6 -6
  78. package/dest/crypto/schnorr/signature.d.ts +9 -29
  79. package/dest/crypto/schnorr/signature.d.ts.map +1 -1
  80. package/dest/crypto/schnorr/signature.js +20 -36
  81. package/dest/crypto/secp256k1-signer/utils.d.ts +12 -1
  82. package/dest/crypto/secp256k1-signer/utils.d.ts.map +1 -1
  83. package/dest/crypto/secp256k1-signer/utils.js +26 -0
  84. package/dest/curves/bls12/field.d.ts +3 -3
  85. package/dest/curves/bls12/field.d.ts.map +1 -1
  86. package/dest/curves/bls12/field.js +0 -5
  87. package/dest/curves/bls12/point.d.ts +2 -2
  88. package/dest/curves/bls12/point.d.ts.map +1 -1
  89. package/dest/curves/bn254/field.d.ts +24 -19
  90. package/dest/curves/bn254/field.d.ts.map +1 -1
  91. package/dest/curves/bn254/field.js +28 -19
  92. package/dest/curves/grumpkin/point.d.ts +14 -28
  93. package/dest/curves/grumpkin/point.d.ts.map +1 -1
  94. package/dest/curves/grumpkin/point.js +29 -43
  95. package/dest/eth-address/index.d.ts +2 -2
  96. package/dest/eth-address/index.d.ts.map +1 -1
  97. package/dest/eth-address/index.js +0 -3
  98. package/dest/eth-signature/eth_signature.d.ts +3 -2
  99. package/dest/eth-signature/eth_signature.d.ts.map +1 -1
  100. package/dest/eth-signature/eth_signature.js +7 -2
  101. package/dest/fifo/fifo_frame_reader.d.ts +41 -0
  102. package/dest/fifo/fifo_frame_reader.d.ts.map +1 -0
  103. package/dest/fifo/fifo_frame_reader.js +74 -0
  104. package/dest/fifo/index.d.ts +2 -0
  105. package/dest/fifo/index.d.ts.map +1 -0
  106. package/dest/fifo/index.js +1 -0
  107. package/dest/fifo_set/fifo_set.d.ts +15 -0
  108. package/dest/fifo_set/fifo_set.d.ts.map +1 -0
  109. package/dest/fifo_set/fifo_set.js +39 -0
  110. package/dest/fifo_set/index.d.ts +2 -0
  111. package/dest/fifo_set/index.d.ts.map +1 -0
  112. package/dest/fifo_set/index.js +1 -0
  113. package/dest/jest/setup.js +28 -1
  114. package/dest/json-rpc/client/fetch.d.ts +1 -1
  115. package/dest/json-rpc/client/fetch.d.ts.map +1 -1
  116. package/dest/json-rpc/client/fetch.js +4 -3
  117. package/dest/json-rpc/client/safe_json_rpc_client.d.ts +2 -1
  118. package/dest/json-rpc/client/safe_json_rpc_client.d.ts.map +1 -1
  119. package/dest/json-rpc/client/safe_json_rpc_client.js +3 -3
  120. package/dest/json-rpc/client/undici.d.ts +1 -1
  121. package/dest/json-rpc/client/undici.d.ts.map +1 -1
  122. package/dest/json-rpc/client/undici.js +5 -3
  123. package/dest/json-rpc/fixtures/test_state.d.ts +4 -8
  124. package/dest/json-rpc/fixtures/test_state.d.ts.map +1 -1
  125. package/dest/json-rpc/fixtures/test_state.js +57 -17
  126. package/dest/json-rpc/server/api_key_auth.d.ts +19 -0
  127. package/dest/json-rpc/server/api_key_auth.d.ts.map +1 -0
  128. package/dest/json-rpc/server/api_key_auth.js +57 -0
  129. package/dest/json-rpc/server/index.d.ts +2 -1
  130. package/dest/json-rpc/server/index.d.ts.map +1 -1
  131. package/dest/json-rpc/server/index.js +1 -0
  132. package/dest/json-rpc/server/safe_json_rpc_server.d.ts +8 -3
  133. package/dest/json-rpc/server/safe_json_rpc_server.d.ts.map +1 -1
  134. package/dest/json-rpc/server/safe_json_rpc_server.js +27 -13
  135. package/dest/log/bigint-utils.d.ts +5 -0
  136. package/dest/log/bigint-utils.d.ts.map +1 -0
  137. package/dest/log/bigint-utils.js +21 -0
  138. package/dest/log/gcloud-logger-config.d.ts +1 -1
  139. package/dest/log/gcloud-logger-config.d.ts.map +1 -1
  140. package/dest/log/gcloud-logger-config.js +3 -0
  141. package/dest/log/libp2p_logger.d.ts +5 -2
  142. package/dest/log/libp2p_logger.d.ts.map +1 -1
  143. package/dest/log/libp2p_logger.js +14 -4
  144. package/dest/log/log-filters.d.ts +17 -4
  145. package/dest/log/log-filters.d.ts.map +1 -1
  146. package/dest/log/log-filters.js +26 -12
  147. package/dest/log/pino-logger-server.d.ts +9 -0
  148. package/dest/log/pino-logger-server.d.ts.map +1 -0
  149. package/dest/log/pino-logger-server.js +18 -0
  150. package/dest/log/pino-logger.d.ts +37 -8
  151. package/dest/log/pino-logger.d.ts.map +1 -1
  152. package/dest/log/pino-logger.js +137 -29
  153. package/dest/noir/noir_package_config.d.ts +19 -104
  154. package/dest/noir/noir_package_config.d.ts.map +1 -1
  155. package/dest/noir/noir_package_config.js +1 -1
  156. package/dest/promise/running-promise.d.ts +5 -4
  157. package/dest/promise/running-promise.d.ts.map +1 -1
  158. package/dest/promise/running-promise.js +7 -3
  159. package/dest/queue/base_memory_queue.d.ts +2 -2
  160. package/dest/queue/base_memory_queue.d.ts.map +1 -1
  161. package/dest/queue/batch_queue.d.ts +1 -1
  162. package/dest/queue/batch_queue.d.ts.map +1 -1
  163. package/dest/queue/batch_queue.js +1 -0
  164. package/dest/queue/semaphore.d.ts +5 -1
  165. package/dest/queue/semaphore.d.ts.map +1 -1
  166. package/dest/retry/index.d.ts +31 -3
  167. package/dest/retry/index.d.ts.map +1 -1
  168. package/dest/retry/index.js +44 -2
  169. package/dest/schemas/api.d.ts +12 -10
  170. package/dest/schemas/api.d.ts.map +1 -1
  171. package/dest/schemas/api.js +7 -1
  172. package/dest/schemas/parse.d.ts +4 -4
  173. package/dest/schemas/parse.d.ts.map +1 -1
  174. package/dest/schemas/parse.js +6 -5
  175. package/dest/schemas/schemas.d.ts +15 -15
  176. package/dest/schemas/types.d.ts +3 -3
  177. package/dest/schemas/types.d.ts.map +1 -1
  178. package/dest/schemas/utils.d.ts +7 -11
  179. package/dest/schemas/utils.d.ts.map +1 -1
  180. package/dest/schemas/utils.js +2 -18
  181. package/dest/serialize/buffer_reader.d.ts +8 -1
  182. package/dest/serialize/buffer_reader.d.ts.map +1 -1
  183. package/dest/serialize/buffer_reader.js +13 -0
  184. package/dest/serialize/buffer_sink.d.ts +134 -0
  185. package/dest/serialize/buffer_sink.d.ts.map +1 -0
  186. package/dest/serialize/buffer_sink.js +297 -0
  187. package/dest/serialize/index.d.ts +2 -1
  188. package/dest/serialize/index.d.ts.map +1 -1
  189. package/dest/serialize/index.js +1 -0
  190. package/dest/serialize/serialize.d.ts +19 -1
  191. package/dest/serialize/serialize.d.ts.map +1 -1
  192. package/dest/serialize/serialize.js +31 -0
  193. package/dest/sleep/index.d.ts +2 -1
  194. package/dest/sleep/index.d.ts.map +1 -1
  195. package/dest/sleep/index.js +10 -1
  196. package/dest/string/index.js +1 -1
  197. package/dest/testing/files/index.d.ts +2 -3
  198. package/dest/testing/files/index.d.ts.map +1 -1
  199. package/dest/testing/files/index.js +1 -2
  200. package/dest/timer/date.d.ts +25 -1
  201. package/dest/timer/date.d.ts.map +1 -1
  202. package/dest/timer/date.js +33 -0
  203. package/dest/timer/index.d.ts +2 -2
  204. package/dest/timer/index.d.ts.map +1 -1
  205. package/dest/timer/index.js +1 -1
  206. package/dest/timer/timeout.d.ts +3 -1
  207. package/dest/timer/timeout.d.ts.map +1 -1
  208. package/dest/timer/timeout.js +26 -0
  209. package/dest/transport/dispatch/create_dispatch_proxy.d.ts +11 -2
  210. package/dest/transport/dispatch/create_dispatch_proxy.d.ts.map +1 -1
  211. package/dest/transport/index.d.ts +1 -2
  212. package/dest/transport/index.d.ts.map +1 -1
  213. package/dest/transport/index.js +0 -1
  214. package/dest/transport/transport_client.js +2 -2
  215. package/dest/trees/balanced_merkle_tree_root.d.ts +2 -3
  216. package/dest/trees/balanced_merkle_tree_root.d.ts.map +1 -1
  217. package/dest/trees/balanced_merkle_tree_root.js +2 -3
  218. package/dest/trees/hasher.d.ts +3 -2
  219. package/dest/trees/hasher.d.ts.map +1 -1
  220. package/dest/trees/hasher.js +5 -5
  221. package/dest/trees/indexed_merkle_tree_calculator.d.ts +1 -1
  222. package/dest/trees/indexed_merkle_tree_calculator.d.ts.map +1 -1
  223. package/dest/trees/indexed_merkle_tree_calculator.js +5 -1
  224. package/dest/trees/membership_witness.d.ts +2 -6
  225. package/dest/trees/membership_witness.d.ts.map +1 -1
  226. package/dest/trees/membership_witness.js +0 -9
  227. package/dest/trees/merkle_tree_calculator.d.ts +4 -2
  228. package/dest/trees/merkle_tree_calculator.d.ts.map +1 -1
  229. package/dest/trees/merkle_tree_calculator.js +1 -5
  230. package/dest/trees/sibling_path.d.ts +5 -4
  231. package/dest/trees/sibling_path.d.ts.map +1 -1
  232. package/dest/trees/sibling_path.js +10 -8
  233. package/dest/trees/unbalanced_merkle_tree_root.d.ts +2 -3
  234. package/dest/trees/unbalanced_merkle_tree_root.d.ts.map +1 -1
  235. package/dest/trees/unbalanced_merkle_tree_root.js +2 -3
  236. package/dest/types/index.d.ts +25 -1
  237. package/dest/types/index.d.ts.map +1 -1
  238. package/dest/types/index.js +18 -0
  239. package/package.json +27 -4
  240. package/src/array/sorted_array.ts +22 -17
  241. package/src/bigint-buffer/index.ts +6 -1
  242. package/src/branded-types/block_number.ts +20 -2
  243. package/src/branded-types/buffer32_hash.ts +38 -0
  244. package/src/branded-types/checkpoint_number.ts +16 -1
  245. package/src/branded-types/epoch.ts +1 -1
  246. package/src/branded-types/index.ts +1 -0
  247. package/src/branded-types/index_within_checkpoint.ts +1 -1
  248. package/src/branded-types/slot.ts +6 -1
  249. package/src/buffer/buffer16.ts +3 -0
  250. package/src/buffer/buffer32.ts +39 -68
  251. package/src/buffer/index.ts +1 -0
  252. package/src/buffer/utils.ts +8 -0
  253. package/src/collection/array.ts +55 -0
  254. package/src/collection/index.ts +2 -0
  255. package/src/collection/lru_map.ts +143 -0
  256. package/src/collection/lru_set.ts +115 -0
  257. package/src/committable/committable.ts +1 -1
  258. package/src/config/env_var.ts +89 -22
  259. package/src/config/index.ts +157 -121
  260. package/src/config/network_config.ts +3 -0
  261. package/src/config/network_name.ts +6 -6
  262. package/src/config/secret_value.ts +1 -1
  263. package/src/crypto/aes128/index.ts +11 -2
  264. package/src/crypto/bls/bn254_keystore.ts +33 -43
  265. package/src/crypto/poseidon/index.ts +42 -34
  266. package/src/crypto/random/randomness_singleton.ts +9 -5
  267. package/src/crypto/schnorr/index.ts +9 -8
  268. package/src/crypto/schnorr/signature.ts +17 -46
  269. package/src/crypto/secp256k1-signer/utils.ts +32 -0
  270. package/src/curves/bls12/field.ts +0 -7
  271. package/src/curves/bn254/field.ts +41 -36
  272. package/src/curves/grumpkin/point.ts +23 -40
  273. package/src/eth-address/index.ts +0 -4
  274. package/src/eth-signature/eth_signature.ts +7 -1
  275. package/src/fifo/fifo_frame_reader.ts +98 -0
  276. package/src/fifo/index.ts +1 -0
  277. package/src/fifo_set/fifo_set.ts +52 -0
  278. package/src/fifo_set/index.ts +1 -0
  279. package/src/jest/setup.mjs +31 -1
  280. package/src/json-rpc/client/fetch.ts +4 -3
  281. package/src/json-rpc/client/safe_json_rpc_client.ts +4 -2
  282. package/src/json-rpc/client/undici.ts +5 -3
  283. package/src/json-rpc/fixtures/test_state.ts +10 -10
  284. package/src/json-rpc/server/api_key_auth.ts +63 -0
  285. package/src/json-rpc/server/index.ts +1 -0
  286. package/src/json-rpc/server/safe_json_rpc_server.ts +31 -13
  287. package/src/log/bigint-utils.ts +25 -0
  288. package/src/log/gcloud-logger-config.ts +5 -0
  289. package/src/log/libp2p_logger.ts +12 -5
  290. package/src/log/log-filters.ts +29 -11
  291. package/src/log/pino-logger-server.ts +25 -0
  292. package/src/log/pino-logger.ts +160 -39
  293. package/src/noir/noir_package_config.ts +32 -20
  294. package/src/promise/running-promise.ts +8 -5
  295. package/src/queue/base_memory_queue.ts +1 -1
  296. package/src/queue/batch_queue.ts +1 -0
  297. package/src/queue/semaphore.ts +5 -0
  298. package/src/retry/index.ts +66 -4
  299. package/src/schemas/api.ts +25 -25
  300. package/src/schemas/parse.ts +9 -6
  301. package/src/schemas/schemas.ts +4 -4
  302. package/src/schemas/types.ts +2 -2
  303. package/src/schemas/utils.ts +4 -38
  304. package/src/serialize/buffer_reader.ts +15 -0
  305. package/src/serialize/buffer_sink.ts +350 -0
  306. package/src/serialize/index.ts +1 -0
  307. package/src/serialize/serialize.ts +32 -0
  308. package/src/sleep/index.ts +10 -1
  309. package/src/string/index.ts +1 -1
  310. package/src/testing/files/index.ts +1 -2
  311. package/src/timer/date.ts +48 -0
  312. package/src/timer/index.ts +1 -1
  313. package/src/timer/timeout.ts +31 -0
  314. package/src/transport/dispatch/create_dispatch_proxy.ts +11 -1
  315. package/src/transport/index.ts +0 -1
  316. package/src/transport/transport_client.ts +2 -2
  317. package/src/trees/balanced_merkle_tree_root.ts +2 -5
  318. package/src/trees/hasher.ts +6 -3
  319. package/src/trees/indexed_merkle_tree_calculator.ts +5 -1
  320. package/src/trees/membership_witness.ts +0 -8
  321. package/src/trees/merkle_tree_calculator.ts +4 -10
  322. package/src/trees/sibling_path.ts +11 -6
  323. package/src/trees/unbalanced_merkle_tree_root.ts +2 -5
  324. package/src/types/index.ts +52 -0
  325. package/dest/crypto/serialize.d.ts +0 -51
  326. package/dest/crypto/serialize.d.ts.map +0 -1
  327. package/dest/crypto/serialize.js +0 -68
  328. package/dest/transport/dispatch/create_dispatch_fn.d.ts +0 -25
  329. package/dest/transport/dispatch/create_dispatch_fn.d.ts.map +0 -1
  330. package/dest/transport/dispatch/create_dispatch_fn.js +0 -17
  331. package/src/crypto/serialize.ts +0 -85
  332. 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,8 +183,11 @@ 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'
154
187
  | 'PROVER_CANCEL_JOBS_ON_STOP'
188
+ | 'PROVER_ENQUEUE_CONCURRENCY'
155
189
  | 'PROVER_COORDINATION_NODE_URLS'
190
+ | 'PROVER_PROOF_STORE'
156
191
  | 'PROVER_FAILED_PROOF_STORE'
157
192
  | 'PROVER_NODE_FAILED_EPOCH_STORE'
158
193
  | 'PROVER_NODE_DISABLE_PROOF_PUBLISH'
@@ -174,6 +209,7 @@ export type EnvVar =
174
209
  | 'PROVER_TEST_DELAY_MS'
175
210
  | 'PROVER_TEST_DELAY_TYPE'
176
211
  | 'PROVER_TEST_VERIFICATION_DELAY_MS'
212
+ | 'PXE_AUTO_SYNC'
177
213
  | 'PXE_L2_BLOCK_BATCH_SIZE'
178
214
  | 'PXE_PROVER_ENABLED'
179
215
  | 'PXE_SYNC_CHAIN_TIP'
@@ -181,41 +217,57 @@ export type EnvVar =
181
217
  | 'RPC_MAX_BODY_SIZE'
182
218
  | 'RPC_SIMULATE_PUBLIC_MAX_GAS_LIMIT'
183
219
  | 'RPC_SIMULATE_PUBLIC_MAX_DEBUG_LOG_MEMORY_READS'
220
+ | 'OFFENSE_COLLECTION_ENABLED'
184
221
  | 'SENTINEL_ENABLED'
185
222
  | 'SENTINEL_HISTORY_LENGTH_IN_EPOCHS'
186
- | 'SENTINEL_HISTORIC_PROVEN_PERFORMANCE_LENGTH_IN_EPOCHS'
187
- | 'SEQ_MAX_BLOCK_SIZE_IN_BYTES'
223
+ | 'SENTINEL_HISTORIC_EPOCH_PERFORMANCE_LENGTH_IN_EPOCHS'
224
+ | 'SENTINEL_EPOCH_END_BUFFER_SLOTS'
188
225
  | 'SEQ_MAX_TX_PER_BLOCK'
226
+ | 'SEQ_MAX_TX_PER_CHECKPOINT'
189
227
  | 'SEQ_MIN_TX_PER_BLOCK'
190
228
  | 'SEQ_PUBLISH_TXS_WITH_PROPOSALS'
191
229
  | 'SEQ_MAX_DA_BLOCK_GAS'
192
230
  | 'SEQ_MAX_L2_BLOCK_GAS'
231
+ | 'SEQ_PER_BLOCK_ALLOCATION_MULTIPLIER'
232
+ | 'SEQ_PER_BLOCK_DA_ALLOCATION_MULTIPLIER'
233
+ | 'SEQ_REDISTRIBUTE_CHECKPOINT_BUDGET'
193
234
  | 'SEQ_PUBLISHER_PRIVATE_KEY'
194
235
  | 'SEQ_PUBLISHER_PRIVATE_KEYS'
195
236
  | 'SEQ_PUBLISHER_ADDRESSES'
196
237
  | 'SEQ_PUBLISHER_ALLOW_INVALID_STATES'
197
238
  | 'SEQ_PUBLISHER_FORWARDER_ADDRESS'
239
+ | 'SEQ_PUBLISHER_PREVIOUS_L1_BLOCK_WAIT_TIMEOUT_MS'
240
+ | 'SEQ_PUBLISHER_PREVIOUS_L1_BLOCK_WAIT_POLL_INTERVAL_MS'
241
+ | 'PUBLISHER_FUNDING_THRESHOLD'
242
+ | 'PUBLISHER_FUNDING_AMOUNT'
198
243
  | 'SEQ_POLLING_INTERVAL_MS'
199
- | 'SEQ_ENFORCE_TIME_TABLE'
200
244
  | 'SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT'
201
245
  | 'SEQ_ATTESTATION_PROPAGATION_TIME'
246
+ | 'SEQ_CHECKPOINT_PROPOSAL_PREPARE_TIME'
247
+ | 'CHECKPOINT_PROPOSAL_SYNC_GRACE_SECONDS'
248
+ | 'SEQ_MIN_BLOCK_DURATION'
202
249
  | 'SEQ_BLOCK_DURATION_MS'
250
+ | 'SEQ_LAST_BLOCK_DURATION_MS'
251
+ | 'SEQ_EXPECTED_BLOCK_PROPOSALS_PER_SLOT'
203
252
  | 'SEQ_BUILD_CHECKPOINT_IF_EMPTY'
204
253
  | 'SEQ_SECONDS_BEFORE_INVALIDATING_BLOCK_AS_COMMITTEE_MEMBER'
205
254
  | 'SEQ_SECONDS_BEFORE_INVALIDATING_BLOCK_AS_NON_COMMITTEE_MEMBER'
206
- | 'SLASH_MIN_PENALTY_PERCENTAGE'
207
- | 'SLASH_MAX_PENALTY_PERCENTAGE'
255
+ | 'SEQ_SKIP_CHECKPOINT_PUBLISH_PERCENT'
208
256
  | 'SLASH_VALIDATORS_ALWAYS'
209
257
  | 'SLASH_VALIDATORS_NEVER'
210
- | 'SLASH_PRUNE_PENALTY'
211
258
  | 'SLASH_DATA_WITHHOLDING_PENALTY'
259
+ | 'SLASH_DATA_WITHHOLDING_TOLERANCE_SLOTS'
212
260
  | 'SLASH_INACTIVITY_PENALTY'
213
261
  | 'SLASH_INACTIVITY_TARGET_PERCENTAGE'
214
262
  | 'SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD'
215
263
  | 'SLASH_INVALID_BLOCK_PENALTY'
264
+ | 'SLASH_INVALID_CHECKPOINT_PROPOSAL_PENALTY'
265
+ | 'SLASH_DUPLICATE_PROPOSAL_PENALTY'
266
+ | 'SLASH_DUPLICATE_ATTESTATION_PENALTY'
216
267
  | 'SLASH_OVERRIDE_PAYLOAD'
217
268
  | 'SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY'
218
- | 'SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY'
269
+ | 'SLASH_PROPOSE_DESCENDANT_OF_CHECKPOINT_WITH_INVALID_ATTESTATIONS_PENALTY'
270
+ | 'SLASH_ATTEST_INVALID_CHECKPOINT_PROPOSAL_PENALTY'
219
271
  | 'SLASH_UNKNOWN_PENALTY'
220
272
  | 'SLASH_GRACE_PERIOD_L2_SLOTS'
221
273
  | 'SLASH_OFFENSE_EXPIRATION_ROUNDS'
@@ -226,31 +278,42 @@ export type EnvVar =
226
278
  | 'SYNC_SNAPSHOTS_URL'
227
279
  | 'TELEMETRY'
228
280
  | 'TEST_ACCOUNTS'
281
+ | 'TEST_PRELOAD_STANDARD_CONTRACTS'
229
282
  | 'SPONSORED_FPC'
283
+ | 'PREFUND_ADDRESSES'
230
284
  | 'TX_COLLECTION_FAST_NODES_TIMEOUT_BEFORE_REQ_RESP_MS'
231
- | 'TX_COLLECTION_SLOW_NODES_INTERVAL_MS'
232
- | 'TX_COLLECTION_SLOW_REQ_RESP_INTERVAL_MS'
233
- | 'TX_COLLECTION_SLOW_REQ_RESP_TIMEOUT_MS'
234
- | 'TX_COLLECTION_RECONCILE_INTERVAL_MS'
235
- | 'TX_COLLECTION_DISABLE_SLOW_DURING_FAST_REQUESTS'
236
285
  | 'TX_COLLECTION_FAST_NODE_INTERVAL_MS'
237
286
  | 'TX_COLLECTION_FAST_MAX_PARALLEL_REQUESTS_PER_NODE'
238
287
  | 'TX_COLLECTION_NODE_RPC_MAX_BATCH_SIZE'
239
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'
240
299
  | 'TX_PUBLIC_SETUP_ALLOWLIST'
241
300
  | 'TXE_PORT'
242
301
  | 'TRANSACTIONS_DISABLED'
243
302
  | 'VALIDATOR_ATTESTATIONS_POLLING_INTERVAL_MS'
244
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'
245
308
  | 'VALIDATOR_PRIVATE_KEYS'
246
309
  | 'VALIDATOR_PRIVATE_KEY'
247
- | 'VALIDATOR_REEXECUTE'
248
310
  | 'VALIDATOR_ADDRESSES'
249
311
  | 'ROLLUP_VERSION'
250
312
  | 'WS_BLOCK_CHECK_INTERVAL_MS'
251
313
  | 'WS_BLOCK_REQUEST_BATCH_SIZE'
252
314
  | 'L1_READER_VIEM_POLLING_INTERVAL_MS'
253
315
  | 'WS_DATA_DIRECTORY'
316
+ | 'WS_NUM_HISTORIC_CHECKPOINTS'
254
317
  | 'WS_NUM_HISTORIC_BLOCKS'
255
318
  | 'ETHEREUM_SLOT_DURATION'
256
319
  | 'AZTEC_SLOT_DURATION'
@@ -276,7 +339,7 @@ export type EnvVar =
276
339
  | 'AZTEC_SLASH_AMOUNT_SMALL'
277
340
  | 'AZTEC_SLASH_AMOUNT_MEDIUM'
278
341
  | 'AZTEC_SLASH_AMOUNT_LARGE'
279
- | 'AZTEC_SLASHER_FLAVOR'
342
+ | 'AZTEC_SLASHER_ENABLED'
280
343
  | 'AZTEC_GOVERNANCE_PROPOSER_QUORUM'
281
344
  | 'AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE'
282
345
  | 'AZTEC_GOVERNANCE_VOTING_DURATION'
@@ -305,21 +368,25 @@ export type EnvVar =
305
368
  | 'K8S_POD_NAME'
306
369
  | 'K8S_POD_UID'
307
370
  | 'K8S_NAMESPACE_NAME'
308
- | 'VALIDATOR_REEXECUTE_DEADLINE_MS'
309
- | 'AUTO_UPDATE'
310
- | 'AUTO_UPDATE_URL'
371
+ | 'ENABLE_AUTO_SHUTDOWN'
311
372
  | 'WEB3_SIGNER_URL'
312
373
  | 'SKIP_ARCHIVER_INITIAL_SYNC'
313
374
  | 'BLOB_ALLOW_EMPTY_SOURCES'
375
+ | 'BLOB_PREFER_FILESTORES'
376
+ | 'BLOB_FILE_STORE_TIMEOUT_MS'
314
377
  | 'FISHERMAN_MODE'
315
378
  | 'MAX_ALLOWED_ETH_CLIENT_DRIFT_SECONDS'
379
+ | 'MAX_BLOCKS_PER_CHECKPOINT'
316
380
  | 'LEGACY_BLS_CLI'
317
381
  | 'DEBUG_FORCE_TX_PROOF_VERIFICATION'
382
+ | 'VALIDATOR_ALLOW_EPHEMERAL_SIGNING_PROTECTION'
318
383
  | 'VALIDATOR_HA_SIGNING_ENABLED'
319
384
  | 'VALIDATOR_HA_NODE_ID'
320
385
  | 'VALIDATOR_HA_POLLING_INTERVAL_MS'
321
386
  | 'VALIDATOR_HA_SIGNING_TIMEOUT_MS'
387
+ | 'VALIDATOR_SIGNER_CALL_TIMEOUT_MS'
322
388
  | 'VALIDATOR_HA_MAX_STUCK_DUTIES_AGE_MS'
389
+ | 'VALIDATOR_HA_OLD_DUTIES_MAX_AGE_H'
323
390
  | 'VALIDATOR_HA_DATABASE_URL'
324
391
  | 'VALIDATOR_HA_RUN_MIGRATIONS'
325
392
  | 'VALIDATOR_HA_POOL_MAX'