/ Cargo.toml
Cargo.toml
1 [package] 2 name = "alphaos" 3 version = "0.3.0" 4 authors = [ "The Alpha Team <hello@alpha.org>" ] 5 description = "A decentralized operating system" 6 homepage = "https://alpha.org" 7 repository = "https://github.com/ProvableHQ/alphaos" 8 keywords = [ 9 "alpha", 10 "cryptography", 11 "blockchain", 12 "decentralized", 13 "zero-knowledge" 14 ] 15 categories = [ "cryptography", "cryptography::cryptocurrencies", "os" ] 16 license = "Apache-2.0" 17 edition = "2021" 18 rust-version = "1.75.0" # Attention - Change the MSRV in rust-toolchain and in .circleci/config.yml as well 19 20 [workspace] 21 members = [ 22 "account", 23 "cli", 24 "display", 25 "node", 26 "node/bft", 27 "node/bft/events", 28 "node/bft/ledger-service", 29 "node/bft/storage-service", 30 "node/cdn", 31 "node/consensus", 32 "node/metrics", 33 "node/network", 34 "node/rest", 35 "node/router", 36 "node/router/messages", 37 "node/sync", 38 "node/sync/communication-service", 39 "node/sync/locators", 40 "node/tcp", 41 "utilities", 42 ] 43 44 [workspace.dependencies.alphastd] 45 path = "../acdc-core" 46 package = "acdc-std" 47 default-features = false 48 49 [workspace.dependencies.alphavm] 50 path = "../alphavm" 51 #git = "https://github.com/ProvableHQ/alphavm.git" 52 #rev = "d8e736636dd" 53 version = "=0.3.0" 54 default-features = false 55 56 [workspace.dependencies.anyhow] 57 version = "1.0" 58 59 [workspace.dependencies.async-trait] 60 version = "0.1" 61 62 [workspace.dependencies.axum] 63 version = "0.8" 64 65 [workspace.dependencies.axum-extra] 66 version = "0.10" 67 68 [workspace.dependencies.base64] 69 version = "0.22" 70 71 [workspace.dependencies.bincode] 72 version = "1" 73 74 [workspace.dependencies.built] 75 version = "0.8" 76 features = ["git2"] 77 78 [workspace.dependencies.bytes] 79 version = "1" 80 81 [workspace.dependencies.clap] 82 version = "4.5" 83 default-features = false 84 features = [ "std" ] 85 86 [workspace.dependencies.colored] 87 version = "3" 88 89 [workspace.dependencies.crossterm] 90 version = "0.29" 91 92 [workspace.dependencies.futures] 93 version = "0.3" 94 95 [workspace.dependencies.futures-util] 96 version = "0.3" 97 98 [workspace.dependencies.locktick] 99 version = "0.4" 100 101 [workspace.dependencies.lru] 102 version = "0.16" 103 104 [workspace.dependencies.num_cpus] 105 version = "1" 106 107 [workspace.dependencies.once_cell] 108 version = "1" 109 110 [workspace.dependencies.proptest] 111 version = "=1.6.0" # Remove this once we upgrade to rand 0.9 112 113 [workspace.dependencies.rayon] 114 version = "1" 115 116 [workspace.dependencies.thiserror] 117 version = "2" 118 119 [workspace.dependencies.time] 120 version = "0.3" 121 122 [workspace.dependencies.tokio] 123 version = "1.48" 124 125 [workspace.dependencies.tokio-util] 126 version = "0.7" 127 128 [workspace.dependencies.http] 129 version = "1" 130 131 [workspace.dependencies.itertools] 132 version = "0.14" 133 134 [workspace.dependencies.indexmap] 135 version = "2" 136 default-features = false 137 138 [workspace.dependencies.serde] 139 version = "1" 140 default-features = false 141 142 [workspace.dependencies.serde_json] 143 version = "1" 144 145 [workspace.dependencies.reqwest] 146 version = "0.11" 147 features = [ "json" ] 148 149 [workspace.dependencies.parking_lot] 150 version = "0.12" 151 152 [workspace.dependencies.rand] 153 version = "0.8" 154 default-features = false 155 156 [workspace.dependencies.rand_chacha] 157 version = "0.3" 158 default-features = false 159 160 [workspace.dependencies.rand_distr] 161 version = "0.4" 162 163 [workspace.dependencies.tracing] 164 version = "0.1" 165 default-features = false 166 167 [workspace.dependencies.tracing-test] 168 version = "0.2" 169 170 [workspace.dependencies.tracing-subscriber] 171 # TODO remove this once colored logs work again in a newer version 172 # See: https://github.com/tokio-rs/tracing/issues/3378 173 version = "=0.3.19" 174 175 [workspace.dependencies.test-strategy] 176 version = "0.4" 177 178 [workspace.dependencies.test-log] 179 version = "0.2" 180 181 [workspace.dependencies.alphaos-account] 182 path = "account" 183 version = "=0.3.0" 184 185 [workspace.dependencies.alphaos-cli] 186 path = "cli" 187 version = "=0.3.0" 188 189 [workspace.dependencies.alphaos-display] 190 path = "display" 191 version = "=0.3.0" 192 193 [workspace.dependencies.alphaos-node] 194 path = "node" 195 version = "=0.3.0" 196 197 [workspace.dependencies.alphaos-node-bft] 198 path = "node/bft" 199 version = "=0.3.0" 200 201 [workspace.dependencies.alphaos-node-bft-events] 202 path = "node/bft/events" 203 version = "=0.3.0" 204 205 [workspace.dependencies.alphaos-node-bft-storage-service] 206 path = "node/bft/storage-service" 207 version = "=0.3.0" 208 209 [workspace.dependencies.alphaos-node-bft-ledger-service] 210 path = "node/bft/ledger-service" 211 version = "=0.3.0" 212 default-features = false 213 214 [workspace.dependencies.alphaos-node-consensus] 215 path = "node/consensus" 216 version = "=0.3.0" 217 218 [workspace.dependencies.alphaos-node-cdn] 219 path = "node/cdn" 220 version = "=0.3.0" 221 222 [workspace.dependencies.alphaos-node-metrics] 223 path = "node/metrics" 224 version = "=0.3.0" 225 226 [workspace.dependencies.alphaos-node-network] 227 path = "node/network" 228 version = "=0.3.0" 229 230 [workspace.dependencies.alphaos-node-router] 231 path = "node/router" 232 version = "=0.3.0" 233 234 [workspace.dependencies.alphaos-node-router-messages] 235 path = "node/router/messages" 236 version = "=0.3.0" 237 238 [workspace.dependencies.alphaos-node-rest] 239 path = "node/rest" 240 version = "=0.3.0" 241 242 [workspace.dependencies.alphaos-node-sync] 243 path = "node/sync" 244 version = "=0.3.0" 245 246 [workspace.dependencies.alphaos-node-sync-communication-service] 247 path = "node/sync/communication-service" 248 version = "=0.3.0" 249 250 [workspace.dependencies.alphaos-node-sync-locators] 251 path = "node/sync/locators" 252 version = "=0.3.0" 253 254 [workspace.dependencies.alphaos-node-tcp] 255 path = "node/tcp" 256 version = "=0.3.0" 257 258 [workspace.dependencies.alphaos-utilities] 259 path = "utilities" 260 version = "=0.3.0" 261 262 [[bin]] 263 name = "alphaos" 264 path = "alphaos/main.rs" 265 266 [features] 267 default = [ "alphaos-cli/metrics", "alphaos-node-metrics", "alphaos-node/metrics", "alphaos-node-cdn/metrics" ] 268 history = [ "alphaos-node/history" ] 269 telemetry = [ "alphaos-node/telemetry" ] 270 # Section 11: Compile-time security features 271 mainnet = ["alphaos-node-consensus/mainnet"] 272 network-upgrades = ["alphaos-node-consensus/network-upgrades"] 273 cuda = [ 274 "alphaos-account/cuda", 275 "alphaos-cli/cuda", 276 "alphaos-node/cuda", 277 "alphaos-node-bft/cuda", 278 "alphaos-node-cdn/cuda", 279 "alphaos-node-consensus/cuda", 280 "alphaos-node-rest/cuda", 281 "alphaos-node-router/cuda", 282 "alphaos-node-sync/cuda" 283 ] 284 locktick = [ 285 "dep:locktick", 286 "alphaos-node/locktick", 287 "alphaos-node-bft/locktick", 288 "alphaos-node-consensus/locktick", 289 "alphaos-node-metrics/locktick", 290 "alphaos-node-rest/locktick", 291 "alphaos-node-router/locktick", 292 "alphaos-node-sync/locktick", 293 "alphaos-node-tcp/locktick", 294 "alphavm/locktick" 295 ] 296 serial = [ 297 "alphaos-cli/serial", 298 "alphaos-node/serial", 299 "alphaos-node-bft/serial", 300 "alphaos-node-consensus/serial", 301 "alphaos-node-metrics/serial", 302 "alphaos-node-rest/serial", 303 "alphaos-node-router/serial", 304 "alphaos-node-sync/serial", 305 "alphavm/serial" 306 ] 307 test_targets = [ "alphaos-cli/test_targets" ] 308 test_consensus_heights = [ "alphaos-cli/test_consensus_heights" ] 309 test_network = [ "alphaos-cli/test_network" ] 310 tokio_console = [ "alphaos-cli/tokio_console", "locktick" ] 311 312 [dependencies.clap] 313 workspace = true 314 features = [ "derive" ] 315 316 [dependencies.locktick] 317 version = "0.4" 318 optional = true 319 320 [dependencies.alphaos-account] 321 workspace = true 322 323 [dependencies.alphaos-cli] 324 workspace = true 325 326 [dependencies.alphaos-node] 327 workspace = true 328 329 [dependencies.alphaos-node-bft] 330 workspace = true 331 332 [dependencies.alphaos-node-cdn] 333 workspace = true 334 335 [dependencies.alphaos-node-consensus] 336 workspace = true 337 338 [dependencies.alphaos-node-metrics] 339 workspace = true 340 optional = true 341 342 [dependencies.alphaos-node-router] 343 workspace = true 344 345 [dependencies.alphaos-node-rest] 346 workspace = true 347 348 [dependencies.alphaos-node-sync] 349 workspace = true 350 351 [dependencies.alphaos-node-tcp] 352 workspace = true 353 354 [dependencies.alphavm] 355 workspace = true 356 357 [target.'cfg(all(target_os = "linux", target_arch = "x86_64"))'.dependencies] 358 tikv-jemallocator = "0.6" 359 360 [dependencies.tracing] 361 workspace = true 362 363 [build-dependencies.built] 364 version = "0.8" 365 features = [ "git2" ] 366 367 [build-dependencies.toml] 368 version = "0.9" 369 370 [build-dependencies.walkdir] 371 version = "2" 372 373 [profile.release] 374 opt-level = 3 375 lto = "thin" 376 incremental = true 377 # uncomment the 2 lines below when building with the locktick feature 378 debug = "line-tables-only" 379 strip = "none" 380 381 [profile.bench] 382 opt-level = 3 383 debug = false 384 rpath = false 385 lto = "thin" 386 incremental = true 387 debug-assertions = false 388 389 [profile.dev] 390 opt-level = 2 391 lto = "off" 392 incremental = true 393 394 [profile.test] 395 opt-level = 2 396 lto = "thin" 397 incremental = true 398 debug = true 399 debug-assertions = true 400 401 [package.metadata.cargo-machete] 402 ignored = [ 403 "alphaos-account", # Needed for cuda feature 404 "alphaos-node", # Needed for metrics feature 405 "alphaos-node-bft", # Needed for cuda and locktick features 406 "alphaos-node-cdn", # Needed for cuda and locktick features 407 "alphaos-node-consensus", # Needed for cuda and locktick features 408 "alphaos-node-tcp", # Needed for locktick feature 409 "alphaos-node-rest", # Needed for cuda and locktick features 410 "alphaos-node-sync", # Needed for cuda and locktick features 411 "alphaos-node-router", # Needed for cuda and locktick features 412 "alphaos-node-metrics", # Needed for locktick feature 413 ]