[workspace] resolver = "2" members = [ "common", "consensus", "consensus/rules", "cryptonight", # "cuprate", # "database", "net/levin", "net/monero-wire", "p2p/monero-p2p", "p2p/address-book", "test-utils" ] [profile.release] lto = true # Build with LTO strip = "none" # Keep panic stack traces codegen-units = 1 # Optimize for binary speed over compile times opt-level = 3 [profile.dev] lto = false strip = "none" # Not much slower compile times than opt-level 0, but much faster code. opt-level = 1 [profile.dev.package."*"] # Compile dependencies with max optimization. # This is obviously slower on a cold build, # but you only build these once. opt-level = 3 [workspace.dependencies] async-trait = { version = "0.1.74" } bincode = { version = "2.0.0-rc.3" } bytes = { version = "1.5.0" } clap = { version = "4.4.7" } chrono = { version = "0.4.31" } crypto-bigint = { version = "0.5.3" } curve25519-dalek = { version = "4.1.1" } dalek-ff-group = { git = "https://github.com/Cuprate/serai.git", rev = "77edd00" } dirs = { version = "5.0.1" } futures = { version = "0.3.29" } hex = { version = "0.4.3" } monero-epee-bin-serde = { git = "https://github.com/monero-rs/monero-epee-bin-serde.git", rev = "e4a585a" } monero-serai = { git = "https://github.com/Cuprate/serai.git", rev = "77edd00" } multiexp = { git = "https://github.com/Cuprate/serai.git", rev = "77edd00" } randomx-rs = { version = "1.2.1" } rand = { version = "0.8.5" } rayon = { version = "1.8.0" } serde_bytes = { version = "0.11.12" } serde_json = { version = "1.0.108" } serde = { version = "1.0.190", features = ["derive"] } thiserror = { version = "1.0.50" } tokio-util = { version = "0.7.10", features = ["codec"]} tokio = { version = "1.33.0", features = ["full"] } tower = { version = "0.4.13", features = ["util", "steer"] } tracing-subscriber = { version = "0.3.17" } tracing = { version = "0.1.40" } ## workspace.dev-dependencies proptest = { version = "1" } proptest-derive = { version = "0.4.0" } ## TODO: ## Potential dependencies. # arc-swap = { version = "1.6.0" } # Atomically swappable Arc | https://github.com/vorner/arc-swap # crossbeam = { version = "0.8.2" } # Channels, concurrent primitives | https://github.com/crossbeam-rs/crossbeam # itoa = { version = "1.0.9" } # Fast integer to string formatting | https://github.com/dtolnay/itoa # notify = { version = "6.1.1" } # Filesystem watching | https://github.com/notify-rs/notify # once_cell = { version = "1.18.0" } # Lazy/one-time initialization | https://github.com/matklad/once_cell # open = { version = "5.0.0" } # Open PATH/URL, probably for binaries | https://github.com/byron/open-rs # paste = { version = "1.0.14" } # Macro `ident` pasting | https://github.com/dtolnay/paste # regex = { version = "1.10.2" } # Regular expressions | https://github.com/rust-lang/regex # ryu = { version = "1.0.15" } # Fast float to string formatting | https://github.com/dtolnay/ryu # strum = { version = "0.25.0" } # Enum macros/traits | https://github.com/Peternator7/strum # Maybe one day. # disk = { version = "*" } # (De)serialization to/from disk with various file formats | https://github.com/hinto-janai/disk # readable = { version = "*" } # Stack-based string formatting utilities | https://github.com/hinto-janai/readable # json-rpc = { git = "https://github.com/hinto-janai/json-rpc" } # JSON-RPC 2.0 types