content: [package]
  name    = "dex-rs-core"
  version = "0.2.0"
  edition = "2021"
  description = "Core abstractions and transport layer for dex-rs"
  license = "MIT"
  repository = "https://github.com/Nayshins/dex-rs"
  
  [dependencies]
  async-trait  = { workspace = true }
  bytes        = { workspace = true }
  http         = { workspace = true }
  serde        = { workspace = true }
  serde_json   = { workspace = true }
  thiserror    = { workspace = true }
  dex-rs-types = { path = "../dex-rs-types", version = "0.2.0" }
  # Optional, behind features
  tokio        = { workspace = true, optional = true, features = ["macros","rt","time"] }
  reqwest      = { workspace = true, optional = true }
  fastwebsockets = { workspace = true, optional = true }
  hyper        = { workspace = true, optional = true }
  hyper-util   = { workspace = true, optional = true }
  http-body-util = { workspace = true, optional = true }
  rustls       = { workspace = true, optional = true }
  tokio-rustls = { workspace = true, optional = true }
  webpki-roots = { workspace = true, optional = true }
  futures-core = "0.3"    # Stream/Sink traits
  futures-util = { version = "0.3", features = ["sink"] }   # StreamExt, SinkExt
  
  [features]
  default       = ["http-reqwest", "rt-tokio"]
  http-reqwest  = ["reqwest"]
  rt-tokio      = ["tokio", "fastwebsockets", "hyper", "hyper-util", "http-body-util", "rustls", "tokio-rustls", "webpki-roots"]
  