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