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