Files
lighthouse/lighthouse/Cargo.toml
Daniel Knopik ee1b6bc81b Create network_utils crate (#7761)
Anchor currently depends on `lighthouse_network` for a few types and utilities that live within. As we use our own libp2p behaviours, we actually do not use the core logic in that crate. This makes us transitively depend on a bunch of unneeded crates (even a whole separate libp2p if the versions mismatch!)


  Move things we require into it's own lightweight crate.


Co-Authored-By: Daniel Knopik <daniel@dknopik.de>
2025-09-10 12:59:24 +00:00

98 lines
3.3 KiB
TOML

[package]
name = "lighthouse"
version = "7.1.0"
authors = ["Sigma Prime <contact@sigmaprime.io>"]
edition = { workspace = true }
autotests = false
rust-version = "1.88.0"
# Prevent cargo-udeps from flagging the dummy package `target_check`, which exists only
# to assert properties of the compilation target.
[package.metadata.cargo-udeps.ignore]
normal = ["target_check"]
[features]
default = ["slasher-lmdb", "beacon-node-leveldb"]
# Writes debugging .ssz files to /tmp during block processing.
write_ssz_files = ["beacon_node/write_ssz_files"]
# Compiles the BLS crypto code so that the binary is portable across machines.
portable = ["bls/supranational-portable"]
# Compiles BLST so that it always uses ADX instructions.
modern = ["bls/supranational-force-adx"]
# Support minimal spec (used for testing only).
spec-minimal = []
# Support Gnosis spec and Gnosis Beacon Chain.
gnosis = []
# Support slasher MDBX backend.
slasher-mdbx = ["slasher/mdbx"]
# Support slasher LMDB backend.
slasher-lmdb = ["slasher/lmdb"]
# Support slasher redb backend.
slasher-redb = ["slasher/redb"]
# Supports beacon node leveldb backend.
beacon-node-leveldb = ["store/leveldb"]
# Supports beacon node redb backend.
beacon-node-redb = ["store/redb"]
# Supports console subscriber for debugging
console-subscriber = ["console-subscriber/default"]
# Force the use of the system memory allocator rather than jemalloc.
sysmalloc = ["malloc_utils/sysmalloc"]
[dependencies]
account_manager = { "path" = "../account_manager" }
account_utils = { workspace = true }
beacon_node = { workspace = true }
bls = { workspace = true }
boot_node = { path = "../boot_node" }
clap = { workspace = true }
clap_utils = { workspace = true }
console-subscriber = { workspace = true, optional = true }
database_manager = { path = "../database_manager" }
directory = { workspace = true }
environment = { workspace = true }
eth2_network_config = { workspace = true }
ethereum_hashing = { workspace = true }
futures = { workspace = true }
lighthouse_tracing = { workspace = true }
lighthouse_version = { workspace = true }
logging = { workspace = true }
metrics = { workspace = true }
network_utils = { workspace = true }
opentelemetry = { workspace = true }
opentelemetry-otlp = { workspace = true }
opentelemetry_sdk = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
serde_yaml = { workspace = true }
slasher = { workspace = true }
store = { workspace = true }
task_executor = { workspace = true }
tracing = { workspace = true }
tracing-opentelemetry = { workspace = true }
tracing-subscriber = { workspace = true }
types = { workspace = true }
validator_client = { workspace = true }
validator_manager = { path = "../validator_manager" }
[target.'cfg(not(target_os = "windows"))'.dependencies]
malloc_utils = { workspace = true, features = ["jemalloc"] }
[target.'cfg(target_os = "windows")'.dependencies]
malloc_utils = { workspace = true, features = [] }
[dev-dependencies]
beacon_node_fallback = { workspace = true }
beacon_processor = { workspace = true }
eth2 = { workspace = true }
initialized_validators = { workspace = true }
lighthouse_network = { workspace = true }
sensitive_url = { workspace = true }
slashing_protection = { workspace = true }
tempfile = { workspace = true }
validator_dir = { workspace = true }
zeroize = { workspace = true }
[[test]]
name = "lighthouse_tests"
path = "tests/main.rs"