Files
lighthouse/Cargo.toml
Mac L f3fd1f210b Remove consensus/types re-exports (#8540)
There are certain crates which we re-export within `types` which creates a fragmented DevEx, where there are various ways to import the same crates.

```rust
// consensus/types/src/lib.rs
pub use bls::{
AggregatePublicKey, AggregateSignature, Error as BlsError, Keypair, PUBLIC_KEY_BYTES_LEN,
PublicKey, PublicKeyBytes, SIGNATURE_BYTES_LEN, SecretKey, Signature, SignatureBytes,
get_withdrawal_credentials,
};
pub use context_deserialize::{ContextDeserialize, context_deserialize};
pub use fixed_bytes::FixedBytesExtended;
pub use milhouse::{self, List, Vector};
pub use ssz_types::{BitList, BitVector, FixedVector, VariableList, typenum, typenum::Unsigned};
pub use superstruct::superstruct;
```

This PR removes these re-exports and makes it explicit that these types are imported from a non-`consensus/types` crate.


Co-Authored-By: Mac L <mjladson@pm.me>
2025-12-09 07:13:41 +00:00

294 lines
10 KiB
TOML

[workspace]
members = [
"account_manager",
"beacon_node",
"beacon_node/beacon_chain",
"beacon_node/beacon_processor",
"beacon_node/builder_client",
"beacon_node/client",
"beacon_node/execution_layer",
"beacon_node/genesis",
"beacon_node/http_api",
"beacon_node/http_metrics",
"beacon_node/lighthouse_network",
"beacon_node/lighthouse_tracing",
"beacon_node/network",
"beacon_node/operation_pool",
"beacon_node/store",
"beacon_node/timer",
"boot_node",
"common/account_utils",
"common/clap_utils",
"common/deposit_contract",
"common/directory",
"common/eip_3076",
"common/eth2",
"common/eth2_config",
"common/eth2_interop_keypairs",
"common/eth2_network_config",
"common/eth2_wallet_manager",
"common/filesystem",
"common/health_metrics",
"common/lighthouse_version",
"common/lockfile",
"common/logging",
"common/lru_cache",
"common/malloc_utils",
"common/metrics",
"common/monitoring_api",
"common/network_utils",
"common/oneshot_broadcast",
"common/pretty_reqwest_error",
"common/slot_clock",
"common/system_health",
"common/target_check",
"common/task_executor",
"common/test_random_derive",
"common/validator_dir",
"common/warp_utils",
"common/workspace_members",
"consensus/fixed_bytes",
"consensus/fork_choice",
"consensus/int_to_bytes",
"consensus/merkle_proof",
"consensus/proto_array",
"consensus/state_processing",
"consensus/swap_or_not_shuffle",
"consensus/types",
"crypto/bls",
"crypto/eth2_key_derivation",
"crypto/eth2_keystore",
"crypto/eth2_wallet",
"crypto/kzg",
"database_manager",
"lcli",
"lighthouse",
"lighthouse/environment",
"slasher",
"slasher/service",
"testing/ef_tests",
"testing/execution_engine_integration",
"testing/node_test_rig",
"testing/simulator",
"testing/state_transition_vectors",
"testing/validator_test_rig",
"testing/web3signer_tests",
"validator_client",
"validator_client/beacon_node_fallback",
"validator_client/doppelganger_service",
"validator_client/graffiti_file",
"validator_client/http_api",
"validator_client/http_metrics",
"validator_client/initialized_validators",
"validator_client/lighthouse_validator_store",
"validator_client/signing_method",
"validator_client/slashing_protection",
"validator_client/validator_metrics",
"validator_client/validator_services",
"validator_manager",
]
resolver = "2"
[workspace.package]
edition = "2024"
version = "8.0.1"
[workspace.dependencies]
account_utils = { path = "common/account_utils" }
alloy-consensus = { version = "1", default-features = false }
alloy-dyn-abi = { version = "1", default-features = false }
alloy-json-abi = { version = "1", default-features = false }
alloy-network = { version = "1", default-features = false }
alloy-primitives = { version = "1", default-features = false, features = ["rlp", "getrandom"] }
alloy-provider = { version = "1", default-features = false, features = ["reqwest"] }
alloy-rlp = { version = "0.3", default-features = false }
alloy-rpc-types-eth = { version = "1", default-features = false, features = ["serde"] }
alloy-signer-local = { version = "1", default-features = false }
anyhow = "1"
arbitrary = { version = "1", features = ["derive"] }
async-channel = "1.9.0"
axum = "0.7.7"
beacon_chain = { path = "beacon_node/beacon_chain" }
beacon_node = { path = "beacon_node" }
beacon_node_fallback = { path = "validator_client/beacon_node_fallback" }
beacon_processor = { path = "beacon_node/beacon_processor" }
bincode = "1"
bitvec = "1"
bls = { path = "crypto/bls" }
byteorder = "1"
bytes = "1"
# Turn off c-kzg's default features which include `blst/portable`. We can turn on blst's portable
# feature ourselves when desired.
c-kzg = { version = "2.1", default-features = false }
cargo_metadata = "0.19"
clap = { version = "4.5.4", features = ["derive", "cargo", "wrap_help"] }
clap_utils = { path = "common/clap_utils" }
compare_fields = "0.1"
console-subscriber = "0.4"
context_deserialize = "0.2"
criterion = "0.5"
delay_map = "0.4"
deposit_contract = { path = "common/deposit_contract" }
directory = { path = "common/directory" }
dirs = "3"
discv5 = { version = "0.10", features = ["libp2p"] }
doppelganger_service = { path = "validator_client/doppelganger_service" }
educe = "0.6"
eip_3076 = { path = "common/eip_3076" }
either = "1.9"
environment = { path = "lighthouse/environment" }
eth2 = { path = "common/eth2" }
eth2_config = { path = "common/eth2_config" }
eth2_key_derivation = { path = "crypto/eth2_key_derivation" }
eth2_keystore = { path = "crypto/eth2_keystore" }
eth2_network_config = { path = "common/eth2_network_config" }
eth2_wallet = { path = "crypto/eth2_wallet" }
ethereum_hashing = "0.8.0"
ethereum_serde_utils = "0.8.0"
ethereum_ssz = { version = "0.10.0", features = ["context_deserialize"] }
ethereum_ssz_derive = "0.10.0"
execution_layer = { path = "beacon_node/execution_layer" }
exit-future = "0.2"
filesystem = { path = "common/filesystem" }
fixed_bytes = { path = "consensus/fixed_bytes" }
fnv = "1"
fork_choice = { path = "consensus/fork_choice" }
fs2 = "0.4"
futures = "0.3"
genesis = { path = "beacon_node/genesis" }
# This is tracking the sigp-gossipsub branch on sigp/rust-libp2p commit: Aug 20 2025
gossipsub = { package = "libp2p-gossipsub", git = "https://github.com/sigp/rust-libp2p.git", rev = "5acdf89a65d64098f9346efa5769e57bcd19dea9", "features" = ["metrics"] }
graffiti_file = { path = "validator_client/graffiti_file" }
hashlink = "0.9.0"
health_metrics = { path = "common/health_metrics" }
hex = "0.4"
http_api = { path = "beacon_node/http_api" }
hyper = "1"
initialized_validators = { path = "validator_client/initialized_validators" }
int_to_bytes = { path = "consensus/int_to_bytes" }
itertools = "0.10"
kzg = { path = "crypto/kzg" }
libsecp256k1 = "0.7"
lighthouse_network = { path = "beacon_node/lighthouse_network" }
lighthouse_tracing = { path = "beacon_node/lighthouse_tracing" }
lighthouse_validator_store = { path = "validator_client/lighthouse_validator_store" }
lighthouse_version = { path = "common/lighthouse_version" }
lockfile = { path = "common/lockfile" }
log = "0.4"
logging = { path = "common/logging" }
logroller = "0.1.8"
lru = "0.12"
lru_cache = { path = "common/lru_cache" }
malloc_utils = { path = "common/malloc_utils" }
maplit = "1"
merkle_proof = { path = "consensus/merkle_proof" }
metrics = { path = "common/metrics" }
milhouse = { version = "0.9", default-features = false, features = ["context_deserialize"] }
mockall = "0.13"
mockall_double = "0.3"
mockito = "1.5.0"
monitoring_api = { path = "common/monitoring_api" }
network = { path = "beacon_node/network" }
network_utils = { path = "common/network_utils" }
node_test_rig = { path = "testing/node_test_rig" }
num_cpus = "1"
once_cell = "1.17.1"
opentelemetry = "0.30.0"
opentelemetry-otlp = { version = "0.30.0", features = ["grpc-tonic", "tls-roots"] }
opentelemetry_sdk = "0.30.0"
operation_pool = { path = "beacon_node/operation_pool" }
parking_lot = "0.12"
paste = "1"
pretty_reqwest_error = { path = "common/pretty_reqwest_error" }
prometheus = { version = "0.13", default-features = false }
proptest = "1"
proto_array = { path = "consensus/proto_array" }
quote = "1"
r2d2 = "0.8"
rand = "0.9.0"
rayon = "1.7"
regex = "1"
reqwest = { version = "0.12", default-features = false, features = [
"blocking",
"json",
"stream",
"rustls-tls",
"native-tls-vendored",
] }
ring = "0.17"
rpds = "0.11"
rusqlite = { version = "0.28", features = ["bundled"] }
rust_eth_kzg = "0.9"
safe_arith = "0.1"
sensitive_url = { version = "0.1", features = ["serde"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde_repr = "0.1"
serde_yaml = "0.9"
sha2 = "0.9"
signing_method = { path = "validator_client/signing_method" }
slasher = { path = "slasher", default-features = false }
slashing_protection = { path = "validator_client/slashing_protection" }
slot_clock = { path = "common/slot_clock" }
smallvec = { version = "1.11.2", features = ["arbitrary"] }
snap = "1"
ssz_types = { version = "0.14.0", features = ["context_deserialize", "runtime_types"] }
state_processing = { path = "consensus/state_processing" }
store = { path = "beacon_node/store" }
strum = { version = "0.24", features = ["derive"] }
superstruct = "0.10"
swap_or_not_shuffle = { path = "consensus/swap_or_not_shuffle" }
syn = "1"
sysinfo = "0.26"
system_health = { path = "common/system_health" }
task_executor = { path = "common/task_executor" }
tempfile = "3"
tokio = { version = "1", features = [
"rt-multi-thread",
"sync",
"signal",
"macros",
] }
tokio-stream = { version = "0.1", features = ["sync"] }
tokio-util = { version = "0.7", features = ["codec", "compat", "time"] }
tracing = "0.1.40"
tracing-appender = "0.2"
tracing-core = "0.1"
tracing-log = "0.2"
tracing-opentelemetry = "0.31.0"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
tree_hash = "0.12.0"
tree_hash_derive = "0.12.0"
typenum = "1"
types = { path = "consensus/types" }
url = "2"
uuid = { version = "0.8", features = ["serde", "v4"] }
validator_client = { path = "validator_client" }
validator_dir = { path = "common/validator_dir" }
validator_http_api = { path = "validator_client/http_api" }
validator_http_metrics = { path = "validator_client/http_metrics" }
validator_metrics = { path = "validator_client/validator_metrics" }
validator_services = { path = "validator_client/validator_services" }
validator_store = { path = "validator_client/validator_store" }
validator_test_rig = { path = "testing/validator_test_rig" }
warp = { version = "0.3.7", default-features = false, features = ["tls"] }
warp_utils = { path = "common/warp_utils" }
workspace_members = { path = "common/workspace_members" }
xdelta3 = { git = "https://github.com/sigp/xdelta3-rs", rev = "4db64086bb02e9febb584ba93b9d16bb2ae3825a" }
zeroize = { version = "1", features = ["zeroize_derive", "serde"] }
zip = "0.6"
zstd = "0.13"
[profile.maxperf]
inherits = "release"
lto = "fat"
codegen-units = 1
incremental = false
[profile.release-debug]
inherits = "release"
debug = true
[patch.crates-io]
quick-protobuf = { git = "https://github.com/sigp/quick-protobuf.git", rev = "681f413312404ab6e51f0b46f39b0075c6f4ebfd" }