/ 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  ]