1pub fn migrate_legacy_env_vars() -> Vec<(&'static str, &'static str)> {
11 const MAPPINGS: &[(&str, &str)] = &[
12 (
15 "ESP_TOKEN_PROXY_ADDRESS",
16 "ESPRESSO_SEQUENCER_ESP_TOKEN_PROXY_ADDRESS",
17 ),
18 (
20 "ESPRESSO_FEE_CONTRACT_PROXY_ADDRESS",
21 "ESPRESSO_SEQUENCER_FEE_CONTRACT_PROXY_ADDRESS",
22 ),
23 (
25 "ESPRESSO_REWARD_CLAIM_PROXY_ADDRESS",
26 "ESPRESSO_SEQUENCER_REWARD_CLAIM_PROXY_ADDRESS",
27 ),
28 (
30 "ESPRESSO_OPS_TIMELOCK_ADDRESS",
31 "ESPRESSO_SEQUENCER_OPS_TIMELOCK_ADDRESS",
32 ),
33 (
35 "ESPRESSO_SAFE_EXIT_TIMELOCK_ADDRESS",
36 "ESPRESSO_SEQUENCER_SAFE_EXIT_TIMELOCK_ADDRESS",
37 ),
38 (
41 "ESPRESSO_NODE_STATE_PEERS",
42 "ESPRESSO_SEQUENCER_STATE_PEERS",
43 ),
44 ("ESPRESSO_API_NODE_URL", "ESPRESSO_SEQUENCER_URL"),
46 (
49 "ESPRESSO_NODE_API_MAX_CONNECTIONS",
50 "ESPRESSO_SEQUENCER_MAX_CONNECTIONS",
51 ),
52 (
54 "ESPRESSO_DEPLOYER_ALT_INDICES",
55 "ESPRESSO_SEQUENCER_DEPLOYER_ALT_INDICES",
56 ),
57 (
59 "ESPRESSO_ETH_MULTISIG_ADDRESS",
60 "ESPRESSO_SEQUENCER_ETH_MULTISIG_ADDRESS",
61 ),
62 ("ESPRESSO_NODE_API_PORT", "ESPRESSO_SEQUENCER_API_PORT"),
65 (
67 "ESPRESSO_NODE_DATABASE_MAX_CONNECTIONS",
68 "ESPRESSO_SEQUENCER_DATABASE_MAX_CONNECTIONS",
69 ),
70 ("ESPRESSO_L1_PROVIDER", "ESPRESSO_SEQUENCER_L1_PROVIDER"),
72 ("ESPRESSO_ETH_MNEMONIC", "ESPRESSO_SEQUENCER_ETH_MNEMONIC"),
74 ("ESPRESSO_NODE_API_PEERS", "ESPRESSO_SEQUENCER_API_PEERS"),
77 (
80 "ESPRESSO_NETWORK_BLOCKS_PER_EPOCH",
81 "ESPRESSO_SEQUENCER_BLOCKS_PER_EPOCH",
82 ),
83 (
85 "ESPRESSO_NETWORK_EPOCH_START_BLOCK",
86 "ESPRESSO_SEQUENCER_EPOCH_START_BLOCK",
87 ),
88 (
90 "ESPRESSO_ETH_MULTISIG_PAUSER_ADDRESS",
91 "ESPRESSO_SEQUENCER_ETH_MULTISIG_PAUSER_ADDRESS",
92 ),
93 (
95 "ESPRESSO_STAKE_TABLE_CAPACITY",
96 "ESPRESSO_SEQUENCER_STAKE_TABLE_CAPACITY",
97 ),
98 (
100 "ESPRESSO_STAKE_TABLE_EXIT_ESCROW_PERIOD",
101 "ESPRESSO_SEQUENCER_STAKE_TABLE_EXIT_ESCROW_PERIOD",
102 ),
103 (
105 "ESPRESSO_PERMISSIONED_PROVER",
106 "ESPRESSO_SEQUENCER_PERMISSIONED_PROVER",
107 ),
108 ("ESPRESSO_API_NODE_URLS", "ESPRESSO_SEQUENCER_URLS"),
111 ("ESPRESSO_NODE_KEY_FILE", "ESPRESSO_SEQUENCER_KEY_FILE"),
114 ("ESPRESSO_NODE_KEY_INDEX", "ESPRESSO_SEQUENCER_KEY_INDEX"),
116 (
118 "ESPRESSO_NODE_KEY_MNEMONIC",
119 "ESPRESSO_SEQUENCER_KEY_MNEMONIC",
120 ),
121 (
123 "ESPRESSO_NODE_PRIVATE_STAKING_KEY",
124 "ESPRESSO_SEQUENCER_PRIVATE_STAKING_KEY",
125 ),
126 (
128 "ESPRESSO_NODE_PRIVATE_STATE_KEY",
129 "ESPRESSO_SEQUENCER_PRIVATE_STATE_KEY",
130 ),
131 (
133 "ESPRESSO_NODE_PRIVATE_X25519_KEY",
134 "ESPRESSO_SEQUENCER_PRIVATE_X25519_KEY",
135 ),
136 (
139 "ESPRESSO_NODE_CATCHUP_BASE_TIMEOUT",
140 "ESPRESSO_SEQUENCER_CATCHUP_BASE_TIMEOUT",
141 ),
142 (
144 "ESPRESSO_NODE_CLIQUENET_BIND_ADDRESS",
145 "ESPRESSO_SEQUENCER_CLIQUENET_BIND_ADDRESS",
146 ),
147 (
149 "ESPRESSO_NODE_CONFIG_PEERS",
150 "ESPRESSO_SEQUENCER_CONFIG_PEERS",
151 ),
152 (
154 "ESPRESSO_NODE_GENESIS_FILE",
155 "ESPRESSO_SEQUENCER_GENESIS_FILE",
156 ),
157 (
159 "ESPRESSO_NODE_IDENTITY_COMPANY_NAME",
160 "ESPRESSO_SEQUENCER_IDENTITY_COMPANY_NAME",
161 ),
162 (
164 "ESPRESSO_NODE_IDENTITY_COMPANY_WEBSITE",
165 "ESPRESSO_SEQUENCER_IDENTITY_COMPANY_WEBSITE",
166 ),
167 (
169 "ESPRESSO_NODE_IDENTITY_COUNTRY_CODE",
170 "ESPRESSO_SEQUENCER_IDENTITY_COUNTRY_CODE",
171 ),
172 (
174 "ESPRESSO_NODE_IDENTITY_ICON_14x14_1x",
175 "ESPRESSO_SEQUENCER_IDENTITY_ICON_14x14_1x",
176 ),
177 (
179 "ESPRESSO_NODE_IDENTITY_ICON_14x14_2x",
180 "ESPRESSO_SEQUENCER_IDENTITY_ICON_14x14_2x",
181 ),
182 (
184 "ESPRESSO_NODE_IDENTITY_ICON_14x14_3x",
185 "ESPRESSO_SEQUENCER_IDENTITY_ICON_14x14_3x",
186 ),
187 (
189 "ESPRESSO_NODE_IDENTITY_ICON_24x24_1x",
190 "ESPRESSO_SEQUENCER_IDENTITY_ICON_24x24_1x",
191 ),
192 (
194 "ESPRESSO_NODE_IDENTITY_ICON_24x24_2x",
195 "ESPRESSO_SEQUENCER_IDENTITY_ICON_24x24_2x",
196 ),
197 (
199 "ESPRESSO_NODE_IDENTITY_ICON_24x24_3x",
200 "ESPRESSO_SEQUENCER_IDENTITY_ICON_24x24_3x",
201 ),
202 (
204 "ESPRESSO_NODE_IDENTITY_LATITUDE",
205 "ESPRESSO_SEQUENCER_IDENTITY_LATITUDE",
206 ),
207 (
209 "ESPRESSO_NODE_IDENTITY_LONGITUDE",
210 "ESPRESSO_SEQUENCER_IDENTITY_LONGITUDE",
211 ),
212 (
214 "ESPRESSO_NODE_IDENTITY_NETWORK_TYPE",
215 "ESPRESSO_SEQUENCER_IDENTITY_NETWORK_TYPE",
216 ),
217 (
219 "ESPRESSO_NODE_IDENTITY_NODE_DESCRIPTION",
220 "ESPRESSO_SEQUENCER_IDENTITY_NODE_DESCRIPTION",
221 ),
222 (
224 "ESPRESSO_NODE_IDENTITY_NODE_NAME",
225 "ESPRESSO_SEQUENCER_IDENTITY_NODE_NAME",
226 ),
227 (
229 "ESPRESSO_NODE_IDENTITY_NODE_TYPE",
230 "ESPRESSO_SEQUENCER_IDENTITY_NODE_TYPE",
231 ),
232 (
234 "ESPRESSO_NODE_IDENTITY_OPERATING_SYSTEM",
235 "ESPRESSO_SEQUENCER_IDENTITY_OPERATING_SYSTEM",
236 ),
237 ("ESPRESSO_NODE_IS_DA", "ESPRESSO_SEQUENCER_IS_DA"),
239 (
241 "ESPRESSO_NODE_ORCHESTRATOR_URL",
242 "ESPRESSO_SEQUENCER_ORCHESTRATOR_URL",
243 ),
244 (
246 "ESPRESSO_NODE_PUBLIC_API_URL",
247 "ESPRESSO_SEQUENCER_PUBLIC_API_URL",
248 ),
249 ("ESPRESSO_BUILDER_URLS", "ESPRESSO_SEQUENCER_BUILDER_URLS"),
251 (
253 "ESPRESSO_NODE_LOCAL_CATCHUP_TIMEOUT",
254 "ESPRESSO_SEQUENCER_LOCAL_CATCHUP_TIMEOUT",
255 ),
256 (
259 "ESPRESSO_NODE_CONSENSUS_VIEW_RETENTION",
260 "ESPRESSO_SEQUENCER_CONSENSUS_VIEW_RETENTION",
261 ),
262 (
265 "ESPRESSO_NODE_ACTIVE_FETCH_DELAY",
266 "ESPRESSO_SEQUENCER_ACTIVE_FETCH_DELAY",
267 ),
268 (
270 "ESPRESSO_NODE_SYNC_STATUS_TTL",
271 "ESPRESSO_SEQUENCER_SYNC_STATUS_TTL",
272 ),
273 ("ESPRESSO_NODE_ARCHIVE", "ESPRESSO_SEQUENCER_ARCHIVE"),
275 (
277 "ESPRESSO_NODE_CHUNK_FETCH_DELAY",
278 "ESPRESSO_SEQUENCER_CHUNK_FETCH_DELAY",
279 ),
280 (
282 "ESPRESSO_NODE_CONSENSUS_STORAGE_MINIMUM_RETENTION",
283 "ESPRESSO_SEQUENCER_CONSENSUS_STORAGE_MINIMUM_RETENTION",
284 ),
285 (
287 "ESPRESSO_NODE_CONSENSUS_STORAGE_TARGET_RETENTION",
288 "ESPRESSO_SEQUENCER_CONSENSUS_STORAGE_TARGET_RETENTION",
289 ),
290 (
292 "ESPRESSO_NODE_CONSENSUS_STORAGE_TARGET_USAGE",
293 "ESPRESSO_SEQUENCER_CONSENSUS_STORAGE_TARGET_USAGE",
294 ),
295 (
297 "ESPRESSO_NODE_DATABASE_CONNECTION_TIMEOUT",
298 "ESPRESSO_SEQUENCER_DATABASE_CONNECTION_TIMEOUT",
299 ),
300 (
302 "ESPRESSO_NODE_DATABASE_IDLE_CONNECTION_TIMEOUT",
303 "ESPRESSO_SEQUENCER_DATABASE_IDLE_CONNECTION_TIMEOUT",
304 ),
305 (
307 "ESPRESSO_NODE_DATABASE_MIN_CONNECTIONS",
308 "ESPRESSO_SEQUENCER_DATABASE_MIN_CONNECTIONS",
309 ),
310 (
312 "ESPRESSO_NODE_DATABASE_PRUNE",
313 "ESPRESSO_SEQUENCER_DATABASE_PRUNE",
314 ),
315 (
317 "ESPRESSO_NODE_DATABASE_QUERY_MAX_CONNECTIONS",
318 "ESPRESSO_SEQUENCER_DATABASE_QUERY_MAX_CONNECTIONS",
319 ),
320 (
322 "ESPRESSO_NODE_DATABASE_QUERY_MIN_CONNECTIONS",
323 "ESPRESSO_SEQUENCER_DATABASE_QUERY_MIN_CONNECTIONS",
324 ),
325 (
327 "ESPRESSO_NODE_DATABASE_SLOW_STATEMENT_THRESHOLD",
328 "ESPRESSO_SEQUENCER_DATABASE_SLOW_STATEMENT_THRESHOLD",
329 ),
330 (
332 "ESPRESSO_NODE_DATABASE_STATEMENT_TIMEOUT",
333 "ESPRESSO_SEQUENCER_DATABASE_STATEMENT_TIMEOUT",
334 ),
335 (
337 "ESPRESSO_NODE_DISABLE_PROACTIVE_FETCHING",
338 "ESPRESSO_SEQUENCER_DISABLE_PROACTIVE_FETCHING",
339 ),
340 (
342 "ESPRESSO_NODE_FETCH_RATE_LIMIT",
343 "ESPRESSO_SEQUENCER_FETCH_RATE_LIMIT",
344 ),
345 (
347 "ESPRESSO_NODE_LIGHTWEIGHT",
348 "ESPRESSO_SEQUENCER_LIGHTWEIGHT",
349 ),
350 (
352 "ESPRESSO_NODE_POSTGRES_DATABASE",
353 "ESPRESSO_SEQUENCER_POSTGRES_DATABASE",
354 ),
355 (
357 "ESPRESSO_NODE_POSTGRES_HOST",
358 "ESPRESSO_SEQUENCER_POSTGRES_HOST",
359 ),
360 (
362 "ESPRESSO_NODE_POSTGRES_PASSWORD",
363 "ESPRESSO_SEQUENCER_POSTGRES_PASSWORD",
364 ),
365 (
367 "ESPRESSO_NODE_POSTGRES_PORT",
368 "ESPRESSO_SEQUENCER_POSTGRES_PORT",
369 ),
370 (
372 "ESPRESSO_NODE_POSTGRES_USE_TLS",
373 "ESPRESSO_SEQUENCER_POSTGRES_USE_TLS",
374 ),
375 (
377 "ESPRESSO_NODE_POSTGRES_USER",
378 "ESPRESSO_SEQUENCER_POSTGRES_USER",
379 ),
380 (
382 "ESPRESSO_NODE_PROACTIVE_SCAN_CHUNK_SIZE",
383 "ESPRESSO_SEQUENCER_PROACTIVE_SCAN_CHUNK_SIZE",
384 ),
385 (
387 "ESPRESSO_NODE_PROACTIVE_SCAN_INTERVAL",
388 "ESPRESSO_SEQUENCER_PROACTIVE_SCAN_INTERVAL",
389 ),
390 (
392 "ESPRESSO_NODE_PRUNER_BATCH_SIZE",
393 "ESPRESSO_SEQUENCER_PRUNER_BATCH_SIZE",
394 ),
395 (
397 "ESPRESSO_NODE_PRUNER_INCREMENTAL_VACUUM_PAGES",
398 "ESPRESSO_SEQUENCER_PRUNER_INCREMENTAL_VACUUM_PAGES",
399 ),
400 (
402 "ESPRESSO_NODE_PRUNER_INTERVAL",
403 "ESPRESSO_SEQUENCER_PRUNER_INTERVAL",
404 ),
405 (
407 "ESPRESSO_NODE_PRUNER_MAX_USAGE",
408 "ESPRESSO_SEQUENCER_PRUNER_MAX_USAGE",
409 ),
410 (
412 "ESPRESSO_NODE_PRUNER_MINIMUM_RETENTION",
413 "ESPRESSO_SEQUENCER_PRUNER_MINIMUM_RETENTION",
414 ),
415 (
417 "ESPRESSO_NODE_PRUNER_PRUNING_THRESHOLD",
418 "ESPRESSO_SEQUENCER_PRUNER_PRUNING_THRESHOLD",
419 ),
420 (
422 "ESPRESSO_NODE_PRUNER_TARGET_RETENTION",
423 "ESPRESSO_SEQUENCER_PRUNER_TARGET_RETENTION",
424 ),
425 (
427 "ESPRESSO_NODE_STORAGE_PATH",
428 "ESPRESSO_SEQUENCER_STORAGE_PATH",
429 ),
430 (
432 "ESPRESSO_NODE_SYNC_STATUS_CHUNK_SIZE",
433 "ESPRESSO_SEQUENCER_SYNC_STATUS_CHUNK_SIZE",
434 ),
435 (
438 "ESPRESSO_NODE_PROPOSAL_FETCHER_FETCH_TIMEOUT",
439 "ESPRESSO_SEQUENCER_PROPOSAL_FETCHER_FETCH_TIMEOUT",
440 ),
441 (
443 "ESPRESSO_NODE_PROPOSAL_FETCHER_NUM_WORKERS",
444 "ESPRESSO_SEQUENCER_PROPOSAL_FETCHER_NUM_WORKERS",
445 ),
446 (
449 "ESPRESSO_NODE_REWARD_MERKLE_TREE_PERMITS",
450 "ESPRESSO_SEQUENCER_REWARD_MERKLE_TREE_PERMITS",
451 ),
452 (
455 "ESPRESSO_NODE_CATCHUP_BACKOFF_DISABLE",
456 "ESPRESSO_SEQUENCER_CATCHUP_BACKOFF_DISABLE",
457 ),
458 (
460 "ESPRESSO_NODE_CATCHUP_BACKOFF_FACTOR",
461 "ESPRESSO_SEQUENCER_CATCHUP_BACKOFF_FACTOR",
462 ),
463 (
465 "ESPRESSO_NODE_CATCHUP_BACKOFF_JITTER",
466 "ESPRESSO_SEQUENCER_CATCHUP_BACKOFF_JITTER",
467 ),
468 (
470 "ESPRESSO_NODE_CATCHUP_BASE_RETRY_DELAY",
471 "ESPRESSO_SEQUENCER_CATCHUP_BASE_RETRY_DELAY",
472 ),
473 (
475 "ESPRESSO_NODE_CATCHUP_MAX_RETRY_DELAY",
476 "ESPRESSO_SEQUENCER_CATCHUP_MAX_RETRY_DELAY",
477 ),
478 (
481 "ESPRESSO_NODE_L1_STAKE_TABLE_UPDATE_INTERVAL",
482 "ESPRESSO_SEQUENCER_L1_STAKE_TABLE_UPDATE_INTERVAL",
483 ),
484 (
486 "ESPRESSO_L1_BLOCKS_CACHE_SIZE",
487 "ESPRESSO_SEQUENCER_L1_BLOCKS_CACHE_SIZE",
488 ),
489 (
491 "ESPRESSO_L1_CONSECUTIVE_FAILURE_TOLERANCE",
492 "ESPRESSO_SEQUENCER_L1_CONSECUTIVE_FAILURE_TOLERANCE",
493 ),
494 (
496 "ESPRESSO_L1_EVENTS_CHANNEL_CAPACITY",
497 "ESPRESSO_SEQUENCER_L1_EVENTS_CHANNEL_CAPACITY",
498 ),
499 (
501 "ESPRESSO_L1_EVENTS_MAX_BLOCK_RANGE",
502 "ESPRESSO_SEQUENCER_L1_EVENTS_MAX_BLOCK_RANGE",
503 ),
504 (
506 "ESPRESSO_L1_EVENTS_MAX_RETRY_DURATION",
507 "ESPRESSO_SEQUENCER_L1_EVENTS_MAX_RETRY_DURATION",
508 ),
509 (
511 "ESPRESSO_L1_FAILOVER_REVERT",
512 "ESPRESSO_SEQUENCER_L1_FAILOVER_REVERT",
513 ),
514 (
516 "ESPRESSO_L1_FINALIZED_SAFETY_MARGIN",
517 "ESPRESSO_SEQUENCER_L1_FINALIZED_SAFETY_MARGIN",
518 ),
519 (
521 "ESPRESSO_L1_FREQUENT_FAILURE_TOLERANCE",
522 "ESPRESSO_SEQUENCER_L1_FREQUENT_FAILURE_TOLERANCE",
523 ),
524 (
526 "ESPRESSO_L1_POLLING_INTERVAL",
527 "ESPRESSO_SEQUENCER_L1_POLLING_INTERVAL",
528 ),
529 (
531 "ESPRESSO_L1_RATE_LIMIT_DELAY",
532 "ESPRESSO_SEQUENCER_L1_RATE_LIMIT_DELAY",
533 ),
534 (
536 "ESPRESSO_L1_RETRY_DELAY",
537 "ESPRESSO_SEQUENCER_L1_RETRY_DELAY",
538 ),
539 (
541 "ESPRESSO_L1_SUBSCRIPTION_TIMEOUT",
542 "ESPRESSO_SEQUENCER_L1_SUBSCRIPTION_TIMEOUT",
543 ),
544 (
546 "ESPRESSO_L1_WS_PROVIDER",
547 "ESPRESSO_SEQUENCER_L1_WS_PROVIDER",
548 ),
549 (
552 "ESPRESSO_LIGHT_CLIENT_PROXY_ADDRESS",
553 "ESPRESSO_SEQUENCER_LIGHT_CLIENT_PROXY_ADDRESS",
554 ),
555 (
557 "ESPRESSO_STATE_PROVER_ACCOUNT_INDEX",
558 "ESPRESSO_SEQUENCER_STATE_PROVER_ACCOUNT_INDEX",
559 ),
560 (
563 "ESPRESSO_STAKE_TABLE_PROXY_ADDRESS",
564 "ESPRESSO_SEQUENCER_STAKE_TABLE_PROXY_ADDRESS",
565 ),
566 (
569 "ESPRESSO_LIGHT_CLIENT_ADDRESS",
570 "ESPRESSO_SEQUENCER_LIGHT_CLIENT_ADDRESS",
571 ),
572 (
574 "ESPRESSO_LIGHT_CLIENT_V2_ADDRESS",
575 "ESPRESSO_SEQUENCER_LIGHT_CLIENT_V2_ADDRESS",
576 ),
577 (
579 "ESPRESSO_LIGHT_CLIENT_V3_ADDRESS",
580 "ESPRESSO_SEQUENCER_LIGHT_CLIENT_V3_ADDRESS",
581 ),
582 (
584 "ESPRESSO_STAKE_TABLE_ADDRESS",
585 "ESPRESSO_SEQUENCER_STAKE_TABLE_ADDRESS",
586 ),
587 (
589 "ESPRESSO_STAKE_TABLE_V2_ADDRESS",
590 "ESPRESSO_SEQUENCER_STAKE_TABLE_V2_ADDRESS",
591 ),
592 ("ESP_TOKEN_ADDRESS", "ESPRESSO_SEQUENCER_ESP_TOKEN_ADDRESS"),
594 (
596 "ESP_TOKEN_V2_ADDRESS",
597 "ESPRESSO_SEQUENCER_ESP_TOKEN_V2_ADDRESS",
598 ),
599 (
601 "ESPRESSO_FEE_CONTRACT_ADDRESS",
602 "ESPRESSO_SEQUENCER_FEE_CONTRACT_ADDRESS",
603 ),
604 (
606 "ESPRESSO_REWARD_CLAIM_ADDRESS",
607 "ESPRESSO_SEQUENCER_REWARD_CLAIM_ADDRESS",
608 ),
609 (
611 "ESPRESSO_PLONK_VERIFIER_ADDRESS",
612 "ESPRESSO_SEQUENCER_PLONK_VERIFIER_ADDRESS",
613 ),
614 (
616 "ESPRESSO_PLONK_VERIFIER_V2_ADDRESS",
617 "ESPRESSO_SEQUENCER_PLONK_VERIFIER_V2_ADDRESS",
618 ),
619 (
621 "ESPRESSO_PLONK_VERIFIER_V3_ADDRESS",
622 "ESPRESSO_SEQUENCER_PLONK_VERIFIER_V3_ADDRESS",
623 ),
624 ];
625
626 let mut migrated = Vec::new();
627 for &(new, old) in MAPPINGS {
628 if std::env::var(new).is_err()
629 && let Ok(val) = std::env::var(old)
630 {
631 eprintln!("WARNING: {old} is deprecated, use {new} instead");
632 unsafe { std::env::set_var(new, val) };
635 migrated.push((old, new));
636 }
637 }
638 migrated
639}
640
641pub fn log_migrated_env_vars(migrated: &[(&str, &str)]) {
643 if migrated.is_empty() {
644 return;
645 }
646
647 for &(old, new) in migrated {
648 tracing::warn!(old, new, "migrated deprecated env var");
649 }
650}