[package] name = "lighthouse" version = "8.0.0" authors = ["Sigma Prime "] 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 = { 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"