[workspace]
members = [
    "block_engine",
    "core",
    "jito-protos",
    #    "packet_blaster", // TODO (LB): fix
    "relayer",
    "rpc",
    "transaction-relayer",
    "web"
]
resolver = "1"

[workspace.package]
version = "0.3.1"
authors = ["Jito Network <support@jito.network>"]
repository = "https://github.com/jito-foundation/jito-relayer"
homepage = "https://jito.network/"
license = "Apache-2.0"
edition = "2021"

[workspace.dependencies]
agave-validator = "2.0.22"
axum = "0.5.17"
bincode = "1.3.3"
bytes = "1.4.0"
cached = "0.42.0"
chrono = "0.4.24"
clap = { version = "4", features = ["derive", "env"] }
crossbeam-channel = "0.5.8"
dashmap = "5.4.0"
ed25519-dalek = "1.0.1"
env_logger = "0.9"
futures-util = "0.3"
histogram = "0.6.9"
hostname = "0.3"
itertools = "0.10.5"
jito-block-engine = { path = "block_engine", version = "=0.3.1" }
jito-core = { path = "core", version = "=0.3.1" }
jito-protos = { path = "jito-protos", version = "=0.3.1" }
jito-relayer = { path = "relayer", version = "=0.3.1" }
jito-relayer-web = { path = "web", version = "=0.3.1" }
jito-rpc = { path = "rpc", version = "=0.3.1" }
jwt = { version = "0.16.0", features = ["openssl"] }
keyed_priority_queue = "0.4.1"
lazy_static = "1.4.0"
log = "0.4.17"
once_cell = "1"
openssl = "0.10.51"
prost = "0.12.1"
prost-types = "0.12.1"
protobuf-src = "1.1.0"
quinn = "0.9"
rand = "0.8.5"
rayon = "1.7.0"
rustls = { version = "0.20", features = ["dangerous_configuration"] }
serde = { version = "1.0.160", features = ["derive"] }
serde_json = "1.0.96"
serde_yaml = "0.9.32"
sha2 = "0.10.6"
solana-address-lookup-table-program = "2.0.22"
solana-client = "2.0.22"
solana-core = "2.0.22"
solana-gossip = "2.0.22"
solana-measure = "2.0.22"
solana-metrics = "2.0.22"
solana-net-utils = "2.0.22"
solana-perf = "2.0.22"
solana-program = "2.0.22"
solana-rayon-threadlimit = "2.0.22"
solana-runtime = "2.0.22"
solana-sdk = "2.0.22"
solana-streamer = "2.0.22"
thiserror = "1.0.40"
tikv-jemallocator = { version = "0.4", features = ["profiling"] }
tokio = { version = "1.29.1", features = ["full"] }
tokio-stream = "0.1.12"
tonic = { version = "0.10.2", features = ["tls", "tls-roots", "tls-webpki-roots"] }
tonic-build = "0.10.2"
tower = { version = "0.4.1", features = ["limit"] }

[profile.release]
# thin has minimal overhead vs none (default): https://blog.llvm.org/2016/06/thinlto-scalable-and-incremental-lto.html
lto = "thin"

# enable debug symbols for profiling the heap using jeprof
# example: jeprof --web target/release/jito-transaction-relayer jeprof.3085546.9823.i24.heap
#debug = true