From 10b7400b173124a9da5145250eccb5b58102e7a9 Mon Sep 17 00:00:00 2001 From: hinto-janai Date: Wed, 15 Nov 2023 20:10:46 -0500 Subject: [PATCH] Update workspace `Cargo.toml` (#36) * add dependencies to workspace * add workspace build profiles * add potential dependencies --- Cargo.toml | 82 ++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 73 insertions(+), 9 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 12537d90..b37f88c2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,13 +2,77 @@ resolver = "2" members = [ - "common", - "consensus", - "cryptonight", - #"cuprate", - # "database", - "net/levin", - "net/monero-wire", - # "p2p", - # "p2p/sync-states" + "common", + "consensus", + "cryptonight", + # "cuprate", + # "database", + "net/levin", + "net/monero-wire", + # "p2p", + # "p2p/sync-states" ] + +[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.11" } +dalek-ff-group = { git = "https://github.com/Cuprate/serai.git", rev = "39eafae" } +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 = "39eafae" } +multiexp = { git = "https://github.com/Cuprate/serai.git", rev = "39eafae" } +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" } + +## 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