Modularize validator store (#6705)

- Create trait `ValidatorStore` with all functions used by the `validator_services`
- Make `validator_services` generic on `S: ValidatorStore`
- Introduce `LighthouseValidatorStore`, which has identical functionality to the old `ValidatorStore`
- Remove dependencies (especially `environment`) from `validator_services` and `beacon_node_fallback` in order to be able to cleanly use them in Anchor
This commit is contained in:
Daniel Knopik
2025-05-07 05:43:33 +02:00
committed by GitHub
parent beb0ce68bd
commit 3d92e3663b
42 changed files with 2010 additions and 1622 deletions

49
Cargo.lock generated
View File

@@ -879,14 +879,13 @@ name = "beacon_node_fallback"
version = "0.1.0"
dependencies = [
"clap",
"environment",
"eth2",
"futures",
"itertools 0.10.5",
"logging",
"serde",
"slot_clock",
"strum",
"task_executor",
"tokio",
"tracing",
"types",
@@ -2364,6 +2363,7 @@ dependencies = [
"tokio",
"tracing",
"types",
"validator_store",
]
[[package]]
@@ -5635,6 +5635,32 @@ dependencies = [
"unused_port",
]
[[package]]
name = "lighthouse_validator_store"
version = "0.1.0"
dependencies = [
"account_utils",
"beacon_node_fallback",
"doppelganger_service",
"either",
"environment",
"eth2",
"futures",
"initialized_validators",
"logging",
"parking_lot 0.12.3",
"serde",
"signing_method",
"slashing_protection",
"slot_clock",
"task_executor",
"tokio",
"tracing",
"types",
"validator_metrics",
"validator_store",
]
[[package]]
name = "lighthouse_version"
version = "0.1.0"
@@ -9667,6 +9693,7 @@ dependencies = [
"graffiti_file",
"hyper 1.6.0",
"initialized_validators",
"lighthouse_validator_store",
"metrics",
"monitoring_api",
"parking_lot 0.12.3",
@@ -9722,6 +9749,7 @@ dependencies = [
"health_metrics",
"initialized_validators",
"itertools 0.10.5",
"lighthouse_validator_store",
"lighthouse_version",
"logging",
"parking_lot 0.12.3",
@@ -9754,6 +9782,7 @@ name = "validator_http_metrics"
version = "0.1.0"
dependencies = [
"health_metrics",
"lighthouse_validator_store",
"lighthouse_version",
"logging",
"malloc_utils",
@@ -9765,7 +9794,6 @@ dependencies = [
"types",
"validator_metrics",
"validator_services",
"validator_store",
"warp",
"warp_utils",
]
@@ -9808,9 +9836,7 @@ version = "0.1.0"
dependencies = [
"beacon_node_fallback",
"bls",
"doppelganger_service",
"either",
"environment",
"eth2",
"futures",
"graffiti_file",
@@ -9818,6 +9844,7 @@ dependencies = [
"parking_lot 0.12.3",
"safe_arith",
"slot_clock",
"task_executor",
"tokio",
"tracing",
"tree_hash",
@@ -9830,19 +9857,8 @@ dependencies = [
name = "validator_store"
version = "0.1.0"
dependencies = [
"account_utils",
"doppelganger_service",
"initialized_validators",
"logging",
"parking_lot 0.12.3",
"serde",
"signing_method",
"slashing_protection",
"slot_clock",
"task_executor",
"tracing",
"types",
"validator_metrics",
]
[[package]]
@@ -10100,6 +10116,7 @@ dependencies = [
"eth2_network_config",
"futures",
"initialized_validators",
"lighthouse_validator_store",
"logging",
"parking_lot 0.12.3",
"reqwest",