mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-02 16:21:42 +00:00
Consolidate our property-testing around `proptest`. This PR was written with Copilot and manually tweaked. Co-Authored-By: Michael Sproul <michael@sproul.xyz> Co-Authored-By: Michael Sproul <michael@sigmaprime.io>
300 lines
10 KiB
TOML
300 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/context_deserialize/context_deserialize",
|
|
"consensus/context_deserialize/context_deserialize_derive",
|
|
"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.0.42", default-features = false }
|
|
alloy-primitives = { version = "=1.4.1", default-features = false, features = ["rlp", "getrandom"] }
|
|
alloy-rlp = { version = "=0.3.12", default-features = false }
|
|
alloy-rpc-types-eth = { version = "=1.0.42", default-features = false, features = ["serde"] }
|
|
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 = { path = "consensus/context_deserialize/context_deserialize", features = [
|
|
"all",
|
|
] }
|
|
context_deserialize_derive = { path = "consensus/context_deserialize/context_deserialize_derive" }
|
|
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.7.0"
|
|
ethereum_serde_utils = "0.8.0"
|
|
ethereum_ssz = "0.9.0"
|
|
ethereum_ssz_derive = "0.9.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.7", default-features = false }
|
|
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 = "0.12.2"
|
|
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.10.0"
|
|
tree_hash_derive = "0.10.0"
|
|
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.reproducible]
|
|
inherits = "release"
|
|
debug = false
|
|
panic = "abort"
|
|
codegen-units = 1
|
|
overflow-checks = true
|
|
|
|
[profile.release-debug]
|
|
inherits = "release"
|
|
debug = true
|
|
|
|
[patch.crates-io]
|
|
quick-protobuf = { git = "https://github.com/sigp/quick-protobuf.git", rev = "681f413312404ab6e51f0b46f39b0075c6f4ebfd" }
|