content: [workspace]
  members = ["server", "client", "app", "shared"]
  resolver = "2"
  
  [workspace.package]
  version = "2.1.1"
  edition = "2021"
  
  [workspace.dependencies]
  url = "2.5.2"
  bs58 = "0.5.1"
  bytes = "1.7.1"
  bincode = "1.3.3"
  anyhow = "1.0.86"
  cached = "0.46.1"
  rand = "0.8.4"
  colored = "2.0"
  tracing = "0.1.40"
  clap = { version = "=4.5.9", features = ["derive"] }
  tokio = { version = "1.39.3", features = ["sync"] }
  futures-util = { version = "0.3.30", default-features = false, features = ["std"] }
  tracing-subscriber = { version = "0.3.18", features = ["env-filter", "chrono"] }
  
  # json
  serde_json = "1.0.115"
  serde = { version = "1.0.197", features = ["derive"] }
  
  solana-cli-config = "^1.18"
  solana-client = "^1.18"
  solana-program = "^1.18"
  solana-rpc-client = "^1.18"
  solana-sdk = "^1.18"
  solana-transaction-status = "^1.18"
  solana-account-decoder = "^1.18"
  spl-token = { version = "^4", features = ["no-entrypoint"] }
  spl-associated-token-account = { version = "^2.3", features = [
      "no-entrypoint",
  ] }
  
  cfg-if = "1.0.0"
  
  ore-api = "^2.0.0"
  ore-utils = "^2.0.0"
  drillx = "^2.0.0"
  
  shared = { path = "./shared" }
  
  
  [profile.release]
  opt-level = 3       # Optimize for binary size. You can use "3" for full optimizations if binary size isn't an issue.
  codegen-units = 1   # Better optimization with fewer codegen units
  lto = true          # Enable Link Time Optimization (LTO)
  debug = false       # Disable debug info to reduce binary size
  panic = 'abort'     # Reduces the binary size further by not including unwinding information
  rpath = false
  incremental = false
  overflow-checks = false
  