[workspace] members = [ "crates/geth", "crates/geth-cli", "crates/geth-node", "crates/geth-control", "crates/geth-types", "crates/geth-codec", "crates/geth-config", "crates/geth-store", "crates/geth-crypto", "crates/geth-ssh-identity", "crates/geth-keychain", "crates/geth-auth", "crates/geth-secrets", "crates/geth-resource", "crates/geth-iroh", "crates/geth-discovery", "crates/geth-db", "crates/geth-kv", "crates/geth-pipe", "crates/geth-document", "crates/geth-pubsub", "crates/geth-overlay", "crates/geth-cas", "crates/geth-ssh-proxy", "crates/geth-testkit", ] resolver = "3" [workspace.package] edition = "2024" license = "MIT OR Apache-2.0" repository = "https://example.invalid/local/geth" rust-version = "1.85" [workspace.dependencies] anyhow = "1" async-trait = "0.1" automerge = "0.7" base64 = "0.22" blake3 = "1" bytes = "1" clap = { version = "4", features = ["derive", "env"] } directories = "5" # Compatibility pins for iroh 0.95's ed25519-dalek prerelease dependency. ed25519 = "=3.0.0-rc.1" ed25519-dalek = { version = "2", features = ["rand_core"] } pkcs8 = "=0.11.0-rc.11" futures = "0.3" hex = "0.4" hexane = "=0.1.5" iroh = { version = "0.95.1", features = ["discovery-local-network"] } iroh-blobs = "0.97.0" iroh-docs = "0.95.0" iroh-gossip = "0.95.0" postcard = { version = "1", features = ["alloc"] } rand = "0.9" rand_core = { version = "0.6", features = ["getrandom"] } rusqlite = { version = "0.32", features = ["bundled"] } serde = { version = "1", features = ["derive"] } serde_json = "1" swarm-discovery = "0.4.1" tempfile = "3" thiserror = "2" time = { version = "0.3", features = ["formatting", "serde"] } tokio = { version = "1", features = ["fs", "io-util", "macros", "net", "rt-multi-thread", "signal", "time"] } toml_edit = "0.25.11" tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt"] } tun-rs = { version = "2.7.7", features = ["async"] } url = "2" [workspace.lints.rust] unsafe_code = "forbid"