content: [workspace]
  members = [
      "libraries/*",
      "utilities/*",
      # "infra/spawn-network"
  ]
  
  [workspace.package]
  version = "0.5.12"
  edition = "2021"
  repository = "https://github.com/mel-project/earendil"
  license = "MPL-2.0"
  
  [package]
  name = "earendil"
  version.workspace = true
  edition.workspace = true
  repository.workspace = true
  license.workspace = true
  
  description = "A decentralized, ban-resistant mixnet"
  
  # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
  
  [dependencies]
  anyctx = "0.1"
  serde = { version = "1.0.188", features = ["derive"] }
  serde_with = { version = "3.3.0", features = ["hex", "base64"] }
  earendil_packet = { version = "0.5", path = "libraries/earendil_packet" }
  earendil_crypt = { version = "0.5", path = "libraries/earendil_crypt" }
  earendil_topology = { version = "0.5", path = "libraries/earendil_topology" }
  nursery_macro = { version = "0.1", path = "libraries/nursery_macro" }
  virta = { version = "0.1", path = "libraries/virta" }
  serde_yaml = "0.9.25"
  clap = { version = "4.4.6", features = ["derive"] }
  anyhow = "1.0.75"
  hex = "0.4.3"
  stdcode = "0.1.14"
  log = "0.4.20"
  
  nanorpc = "0.1.12"
  async-trait = "0.1.80"
  bytes = "1.5.0"
  blake3 = "1.5.0"
  
  concurrent-queue = "2.3.0"
  smol = "1.3.0"
  scopeguard = "1.2.0"
  serde_json = "1.0.107"
  bytemuck = "1.14.0"
  thiserror = "1.0.49"
  futures-util = "0.3.28"
  dashmap = { version = "5.5.3", features = ["serde"] }
  indexmap = "1.9.3"
  parking_lot = "0.12.1"
  rand = { version = "0.8.5", features = ["alloc"] }
  clone-macro = "0.1.0"
  moka = { version = "0.12.1", features = ["sync", "future"] }
  lru = "0.12.0"
  smol-timeout = "0.6.0"
  base64 = "0.21.5"
  itertools = "0.11.0"
  moro = "0.4.0"
  replay_filter = "0.1.2"
  once_cell = "1.18.0"
  sosistab2-obfsudp = "0.1.11"
  socksv5 = "0.3.1"
  bip39 = "2.0.0"
  tracing = "0.1.40"
  
  tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
  tap = "1.0.1"
  sqlx = { version = "0.7.3", features = ["sqlite", "runtime-async-std"] }
  oneshot = "0.1.6"
  chrono = "0.4.31"
  colored = "2.1.0"
  futures = "0.3.30"
  tracing-test = { version = "0.2.4", features = ["no-env-filter"] }
  melpow = "0.1.1"
  smolscale = "0.4.3"
  priority-queue = "1.4.0"
  async-event = "0.1.0"
  either = "1.10.0"
  async-recursion = "1.0.5"
  picomux = "0.1.1"
  async-dup = "1.2.4"
  sillad-sosistab3 = "0.1.2"
  sillad = "0.1.1"
  env_logger = "0.11.3"
  dirs = "5.0.1"
  tempfile = "3.10.1"
  
  melstructs = "0.3.3"
  melwallet = "0.1.2"
  tmelcrypt = "0.2.7"
  base32 = "0.5.0"
  melvm = "0.1.1"
  ed25519-dalek = "2.1.1"
  melprot = "0.13.9"
  nanorpc-http = "0.1.5"
  ahash = "0.8.11"
  # nanorpc-http = { path="../nanorpc-http" }
  
  [profile.dev]
  panic = 'abort'
  opt-level = 1
  lto = "off"
  
  [profile.release]
  panic = 'abort'
  
  [profile.release-dbg]
  inherits = "release"
  debug = 2
  
  [profile.bench]
  inherits = "release"
  debug = 2
  