/ Cargo.toml
Cargo.toml
1 [workspace] 2 resolver = "2" 3 members = [ 4 "crates/adnet", 5 "crates/adnet-runtime", 6 "crates/adnet-ipc", 7 "crates/adnet-ipc-integration", 8 "crates/adnet-consensus", 9 "crates/adnet-network", 10 "crates/adnet-storage", 11 "crates/adnet-api", 12 "crates/adnet-mempool", 13 "crates/adnet-prover", 14 "crates/adnet-validator", 15 "crates/adnet-monitoring", 16 "crates/adnet-e2e", 17 "crates/adnet-rewards", 18 "crates/adnet-peerdas", 19 "crates/adnet-kani-proofs", 20 "crates/adnet-api-service", 21 ] 22 default-members = [ 23 "crates/adnet", 24 "crates/adnet-runtime", 25 "crates/adnet-ipc", 26 "crates/adnet-ipc-integration", 27 "crates/adnet-consensus", 28 "crates/adnet-network", 29 "crates/adnet-storage", 30 "crates/adnet-api", 31 "crates/adnet-mempool", 32 "crates/adnet-prover", 33 "crates/adnet-validator", 34 "crates/adnet-monitoring", 35 "crates/adnet-rewards", 36 ] 37 38 [workspace.package] 39 version = "0.3.0" 40 authors = ["ALPHA/DELTA Network"] 41 edition = "2024" 42 license = "Apache-2.0" 43 rust-version = "1.87" 44 repository = "https://code.ac-dc.network/Alpha-Delta-Network/adnet" 45 46 [workspace.dependencies] 47 # Internal crates 48 adnet-runtime = { path = "crates/adnet-runtime" } 49 adnet-ipc = { path = "crates/adnet-ipc" } 50 adnet-consensus = { path = "crates/adnet-consensus" } 51 adnet-network = { path = "crates/adnet-network" } 52 adnet-storage = { path = "crates/adnet-storage" } 53 adnet-api = { path = "crates/adnet-api" } 54 adnet-mempool = { path = "crates/adnet-mempool" } 55 adnet-prover = { path = "crates/adnet-prover" } 56 adnet-validator = { path = "crates/adnet-validator" } 57 adnet-e2e = { path = "crates/adnet-e2e" } 58 adnet-monitoring = { path = "crates/adnet-monitoring" } 59 adnet-rewards = { path = "crates/adnet-rewards" } 60 adnet-peerdas = { path = "crates/adnet-peerdas" } 61 62 # Nova IPA standalone verifier (no VM deps) 63 nova-verifier = { path = "../alphavm/nova-verifier" } 64 65 # VM algorithms (for circuit costs) 66 alphavm-algorithms = { path = "../alphavm/algorithms" } 67 deltavm-algorithms = { path = "../deltavm/algorithms" } 68 69 # ALPHA chain dependencies 70 alphavm = { path = "../alphavm" } 71 alphaos-node = { path = "../alphaos/node" } 72 alphaos-node-consensus = { path = "../alphaos/node/consensus" } 73 alphaos-cli = { path = "../alphaos/cli" } 74 alphaos-account = { path = "../alphaos/account" } 75 alphaos-utilities = { path = "../alphaos/utilities" } 76 acdc-std = { path = "../acdc-core", default-features = false, features = ["profiler"] } 77 alphastd = { package = "acdc-std", path = "../acdc-core", default-features = false } # Renamed for compatibility 78 79 # DELTA chain dependencies 80 deltavm = { path = "../deltavm" } 81 deltaos-node = { path = "../deltaos/node" } 82 deltaos-node-consensus = { path = "../deltaos/node/consensus" } 83 deltaos-cli = { path = "../deltaos/cli" } 84 deltaos-account = { path = "../deltaos/account" } 85 deltaos-utilities = { path = "../deltaos/utilities" } 86 deltaos-node-oracle = { path = "../deltaos/node/oracle" } 87 88 # Core utilities 89 acdc-core = { path = "../acdc-core" } 90 91 # Async runtime 92 tokio = { version = "1.42", features = ["full", "tracing", "rt-multi-thread", "macros", "signal"] } 93 94 # CLI 95 clap = { version = "4.5", features = ["derive", "env"] } 96 97 # Serialization 98 serde = { version = "1.0", features = ["derive"] } 99 serde_json = "1.0" 100 toml = "0.8" 101 102 # Logging 103 tracing = "0.1" 104 tracing-subscriber = { version = "0.3", features = ["env-filter"] } 105 106 # err handling 107 anyhow = "1.0" 108 thiserror = "2.0" 109 110 # Cryptography 111 rand = "0.8" 112 sha2 = "0.10" 113 hex = "0.4" 114 smallvec = { version = "1.15", features = ["union"] } 115 blst = "0.3" 116 ed25519-dalek = { version = "2", features = ["std", "rand_core"] } 117 118 # Async traits 119 async-trait = "0.1" 120 121 # Async channels 122 async-channel = "2.0" 123 124 # db (must match alphavm's rocksdb version) 125 rocksdb = { version = "0.21", default-features = false, features = ["lz4"] } 126 127 # Binary serialisation 128 bincode = "2" 129 130 # P2P networking 131 libp2p-identity = { version = "0.2", features = ["peerid"] } 132 133 # Web server 134 axum = "0.7" 135 utoipa = { version = "4", features = ["axum_extras"] } 136 tower = "0.5" 137 tower-http = { version = "0.6", features = ["cors", "trace"] } 138 139 # HTTP client 140 reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"] } 141 142 143 # Arkworks dependencies (for ZK proof verification in adnet-api) 144 ark-bn254 = { git = "https://github.com/arkworks-rs/algebra" } 145 ark-serialize = { git = "https://github.com/arkworks-rs/algebra" } 146 folding-schemes = { git = "https://github.com/privacy-scaling-explorations/folding-schemes", package = "folding-schemes" } 147 148 # Arkworks patch section — redirects crates.io packages to git versions required by 149 # alphavm-nova (a path dep). Nova uses custom forks with the 'constraints' feature 150 # and other modifications not in stable crates.io releases. 151 # This section mirrors alphavm's [patch.crates-io] to ensure compatible resolution. 152 [patch.crates-io] 153 ark-groth16 = { git = "https://github.com/arkworks-rs/groth16", rev = "b3b4a15" } 154 ark-ff = { git = "https://github.com/arkworks-rs/algebra" } 155 ark-ec = { git = "https://github.com/arkworks-rs/algebra" } 156 ark-serialize = { git = "https://github.com/arkworks-rs/algebra" } 157 ark-poly = { git = "https://github.com/arkworks-rs/algebra" } 158 ark-relations = { git = "https://github.com/arkworks-rs/snark" } 159 ark-snark = { git = "https://github.com/arkworks-rs/snark" } 160 ark-crypto-primitives = { git = "https://github.com/flyingnobita/crypto-primitives", rev = "f559264" } 161 ark-r1cs-std = { git = "https://github.com/flyingnobita/r1cs-std_yelhousni", rev = "b4bab0c" } 162 ark-std = { git = "https://github.com/arkworks-rs/std" } 163 ark-poly-commit = { git = "https://github.com/arkworks-rs/poly-commit" } 164 ark-bn254 = { git = "https://github.com/arkworks-rs/algebra" } 165 ark-grumpkin = { git = "https://github.com/arkworks-rs/algebra" } 166 ark-pallas = { git = "https://github.com/arkworks-rs/algebra" } 167 ark-bls12-377 = { git = "https://github.com/arkworks-rs/algebra" } 168 ark-bw6-761 = { git = "https://github.com/arkworks-rs/algebra" } 169 ark-vesta = { git = "https://github.com/arkworks-rs/algebra" } 170 171 [profile.release] 172 opt-level = 3 173 lto = "thin" 174 codegen-units = 16 175 panic = "abort" 176 strip = true 177 178 [profile.dev] 179 opt-level = 0 180 debug = true 181 182 [workspace.lints.rust] 183 # Allow cfg(kani) used in bounded model-checking proof modules. 184 # Kani uses a non-standard cfg flag not registered with cargo check-cfg. 185 unexpected_cfgs = { level = "allow", check-cfg = ['cfg(kani)'] }