[workspace] resolver = "2" members = [ "crates/chainfire-proto", "crates/chainfire-types", "crates/chainfire-storage", "crates/chainfire-raft", "crates/chainfire-gossip", "crates/chainfire-watch", "crates/chainfire-api", "crates/chainfire-core", "crates/chainfire-server", "chainfire-client", ] [workspace.package] version = "0.1.0" edition = "2021" license = "MIT OR Apache-2.0" rust-version = "1.75" authors = ["Chainfire Contributors"] repository = "https://github.com/chainfire/chainfire" [workspace.dependencies] # Internal crates chainfire-types = { path = "crates/chainfire-types" } chainfire-storage = { path = "crates/chainfire-storage" } chainfire-raft = { path = "crates/chainfire-raft" } chainfire-gossip = { path = "crates/chainfire-gossip" } chainfire-watch = { path = "crates/chainfire-watch" } chainfire-api = { path = "crates/chainfire-api" } chainfire-client = { path = "chainfire-client" } chainfire-core = { path = "crates/chainfire-core" } chainfire-server = { path = "crates/chainfire-server" } chainfire-proto = { path = "crates/chainfire-proto" } # Async runtime tokio = { version = "1.40", features = ["full"] } tokio-stream = "0.1" futures = "0.3" async-trait = "0.1" # Gossip (SWIM protocol) foca = { version = "1.0", features = ["std", "tracing", "serde", "postcard-codec"] } # Storage rocksdb = { version = "0.24", default-features = false, features = ["multi-threaded-cf", "zstd", "lz4", "snappy"] } # gRPC tonic = { version = "0.12", features = ["tls", "tls-roots"] } tonic-build = "0.12" tonic-health = "0.12" prost = "0.13" prost-types = "0.13" # HTTP axum = "0.7" tower = "0.5" tower-http = { version = "0.6", features = ["trace", "cors"] } http = "1.0" http-body-util = "0.1" # Serialization serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" bincode = "1.3" # Utilities thiserror = "1.0" anyhow = "1.0" tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter"] } bytes = "1.5" parking_lot = "0.12" dashmap = "6" # Metrics metrics = "0.23" metrics-exporter-prometheus = "0.15" # Configuration toml = "0.8" clap = { version = "4", features = ["derive"] } config = { version = "0.13", features = ["toml"] } # config-rs with toml support # Testing tempfile = "3.10" proptest = "1.4" criterion = { version = "0.5", features = ["html_reports"] } [workspace.lints.rust] unsafe_code = "deny" [workspace.lints.clippy] all = "warn"