Files
lighthouse/lighthouse/Cargo.toml
2026-01-22 05:11:26 +00:00

99 lines
3.4 KiB
TOML

[package]
name = "lighthouse"
version = { workspace = true }
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_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 }
tracing_samplers = { 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 = { workspace = true, features = ["testing"] }
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"