content: 
  [workspace]
  members = [
      "common",
      "pacaya",
      "permissionless",
      "tools/p2p_node/p2p_boot_node",
      "tools/p2p_node/p2p_network",
      "tools/p2p_node/p2p_test_node",
      "urc",
      "node",
  ]
  resolver = "2"
  default-members = ["node"]
  
  [workspace.package]
  version = "1.17.0"
  edition = "2024"
  repository = "https://github.com/NethermindEth/Catalyst"
  license = "MIT"
  
  [workspace.dependencies]
  alloy = { version = "1.0", default-features = false, features = [
      "full",
      "node-bindings",
      "rlp",
      "rpc-types-beacon",
      "rpc-types",
  ] }
  alloy-json-rpc = { version = "1.0", default-features = false }
  alloy-rlp = { version = "0.3", default-features = false }
  anyhow = { version = "1", default-features = false }
  async-trait = { version = "0.1", default-features = false }
  blst = { version = "0.3", default-features = false }
  c-kzg = { version = "2.1", default-features = false }
  chrono = { version = "0.4", default-features = false, features = [
      "clock",
      "std",
  ] }
  clap = { version = "4.5", default-features = false, features = [
      "std",
      "color",
      "help",
      "usage",
      "error-context",
      "suggestions",
      "derive",
  ] }
  common = { path = "common" }
  discv5 = { version = "0.9.1", default-features = false, features = ["libp2p"] }
  dotenvy = { version = "0.15", default-features = false }
  ecdsa = { version = "0.16", default-features = false }
  elliptic-curve = { version = "0.13", default-features = false }
  flate2 = { version = "1.1", default-features = false, features = [
      "rust_backend",
  ] }
  futures = { version = "0.3.31", default-features = false }
  futures-util = { version = "0.3", default-features = false }
  hex = { version = "0.4", default-features = false }
  http = { version = "1.3", default-features = false }
  jsonrpsee = { version = "0.25", default-features = false, features = [
      "http-client",
      "server",
  ] }
  jsonwebtoken = { version = "9.3", default-features = false }
  k256 = { version = "0.13", default-features = false, features = [
      "arithmetic",
      "ecdsa",
      "pkcs8",
      "precomputed-tables",
      "schnorr",
      "std",
  ] }
  lazy_static = { version = "1.5", default-features = false }
  libp2p = { version = "0.55.0", default-features = false, features = [
      "tcp",
      "tokio",
      "identify",
      "yamux",
      "noise",
      "gossipsub",
      "macros",
  ] }
  libp2p-mplex = { version = "0.43", default-features = false }
  mockito = { version = "1.7", default-features = false }
  pacaya = { path = "pacaya" }
  p2p-network = { path = "tools/p2p_node/p2p_network", default-features = false }
  prometheus = { version = "0.14", default-features = false }
  rand = { version = "0.9", default-features = false }
  rand_core = { version = "0.9", default-features = false }
  reqwest = { version = "0.12", default-features = true }
  serde = { version = "1.0", default-features = false, features = ["derive"] }
  serde_json = { version = "1.0", default-features = false }
  serde_millis = { version = "0.1.1", default-features = false }
  tiny-keccak = { version = "2.0", default-features = false }
  tokio = { version = "1.45", default-features = false, features = ["full"] }
  tokio-util = { version = "0.7", default-features = false }
  tracing = { version = "0.1.41", default-features = false }
  tracing-subscriber = { version = "0.3", default-features = false, features = [
      "fmt",
      "env-filter",
  ] }
  urc = { path = "urc" }
  warp = { version = "0.3", default-features = false }
  
  [workspace.lints.rust]
  unsafe_code = "forbid"
  
  [workspace.lints.clippy]
  cast_lossless = "deny"
  cast_possible_truncation = "deny"
  cast_possible_wrap = "deny"
  cast_precision_loss = "deny"
  cast_sign_loss = "deny"
  needless_return = "deny"
  panicking_overflow_checks = "deny"
  unwrap_used = "deny"
  
  [profile.release]
  overflow-checks = true
  