[package] name = "darkfi" version = "0.3.0" homepage = "https://dark.fi" description = "Anonymous. Uncensored. Sovereign." authors = ["darkfi "] repository = "https://github.com/darkrenaissance/darkfi" license = "AGPL-3.0-only" edition = "2021" [lib] name = "darkfi" #[profile.release] #debug = true #lto = "fat" #codegen-units = 1 [workspace] members = [ "bin/zkas", #"bin/cashierd", "bin/darkfid", "bin/darkotc", "bin/drk", "bin/faucetd", "bin/fud/fu", "bin/fud/fud", "bin/ircd", "bin/ircd2", "bin/dnetview", "bin/dao/daod", "bin/dao/dao-cli", "bin/tau/taud", "bin/tau/tau-cli", "bin/darkwiki/darkwikid", "bin/darkwiki/darkwiki-cli", "bin/vanityaddr", "bin/lilith", "src/sdk", "src/serial", "src/serial/derive", "src/serial/derive-internal", "example/dchat", ] [dependencies] # Hard dependencies libc = "0.2.134" log = "0.4.17" thiserror = "1.0.37" # async-runtime async-std = {version = "1.12.0", features = ["attributes"], optional = true} async-trait = {version = "0.1.57", optional = true} futures = {version = "0.3.24", optional = true} smol = {version = "1.2.5", optional = true} # Networking futures-rustls = {version = "0.22.2", features = ["dangerous_configuration"], optional = true} iprange = {version = "0.6.7", optional = true} ipnet = {version = "2.5.0", optional = true} socket2 = {version = "0.4.7", optional = true} # TLS cert utilities ed25519-compact = {version = "1.0.16", features = ["pem"], optional = true} rcgen = {version = "0.10.0", features = ["pem"], optional = true} rustls-pemfile = {version = "1.0.1", optional = true} # Encoding bincode = {version = "2.0.0-rc.2", features = ["serde"], optional = true} bs58 = {version = "0.4.0", optional = true} hex = {version = "0.4.3", optional = true} serde_json = {version = "1.0.85", optional = true} serde = {version = "1.0.145", features = ["derive"], optional = true} structopt = {version= "0.3.26", optional = true} structopt-toml = {version= "0.5.1", optional = true} toml = {version = "0.5.9", optional = true} # Utilities chrono = {version = "0.4.22", optional = true} darkfi-serial = {path = "src/serial", optional = true} darkfi-derive = {path = "src/serial/derive", optional = true} darkfi-derive-internal = {path = "src/serial/derive-internal", optional = true} dirs = {version = "4.0.0", optional = true} fxhash = {version = "0.2.1", optional = true} indexmap = {version = "1.9.1", optional = true} itertools = {version = "0.10.5", optional = true} lazy-init = {version = "0.5.1", optional = true} lazy_static = {version = "1.4.0", optional = true} subtle = {version = "2.4.1", optional = true} url = {version = "2.3.1", features = ["serde"], optional = true} # Misc indicatif = {version = "0.17.1", optional = true} simplelog = {version = "0.12.0", optional = true} termion = {version = "1.5.6", optional = true} # Websockets async-tungstenite = {version = "0.17.2", optional = true} tungstenite = {version = "0.17.3", optional = true} # socks5 fast-socks5 = {version = "0.4.3", optional = true} # Crypto rand = {version = "0.8.5", optional = true} blake2b_simd = {version = "1.0.0", optional = true} blake3 = {version = "1.3.1", optional = true} crypto_api_chachapoly = {version = "0.5.0", optional = true} group = {version = "0.12.0", optional = true} halo2_proofs = {version = "0.2.0", optional = true} halo2_gadgets = {version = "0.2.0", optional = true} incrementalmerkletree = {version = "0.3.0", optional = true} num-bigint = {version = "0.4.3", optional = true} num-traits = {version = "0.2.15", optional = true} pasta_curves = {version = "0.4.0", optional = true} sha2 = {version = "0.10.6", optional = true} # Smart contract runtime darkfi-sdk = {path = "src/sdk", optional = true} wasmer = {version = "2.3.0", optional = true} wasmer-compiler-singlepass = {version = "2.3.0", optional = true} wasmer-middlewares = {version = "2.3.0", optional = true} # Wallet management libsqlite3-sys = {version = "0.24.2", features = ["bundled-sqlcipher"], optional = true } sqlx = {version = "0.6.2", features = ["runtime-async-std-native-tls", "sqlite"], optional = true} # Blockchain store sled = {version = "0.34.7", optional = true} # big float dashu = { version = "0.2.0", git = "https://github.com/ertosns/dashu" } # env logger env_logger = "0.9.1" [dev-dependencies] clap = {version = "3.2.20", features = ["derive"]} halo2_proofs = {version = "0.2.0", features = ["dev-graph", "gadget-traces", "sanity-checks"]} halo2_gadgets = {version = "0.2.0", features = ["dev-graph", "test-dependencies"]} plotters = "0.3.4" # -----BEGIN LIBRARY FEATURES----- [features] async-runtime = [ "async-std", "async-trait", "futures", "smol", ] blockchain = [ "blake3", "chrono", "group", "halo2_gadgets", "halo2_proofs", "incrementalmerkletree", "lazy-init", "lazy_static", "pasta_curves", "rand", "sled", "url", "async-runtime", "crypto", "darkfi-serial", "net", "tx", "node", "util", ] crypto = [ "blake2b_simd", "blake3", "bs58", "crypto_api_chachapoly", "fxhash", "group", "halo2_gadgets", "halo2_proofs", "hex", "incrementalmerkletree", "lazy_static", "num-bigint", "num-traits", "pasta_curves", "rand", "serde", "serde_json", "sha2", "subtle", "darkfi-serial", "darkfi-serial/crypto", "util", "zkas", ] dht = [ "blake3", "chrono", "rand", "async-runtime", "darkfi-serial", "darkfi-serial/collections", "darkfi-serial/hash", "net", ] net = [ "fxhash", "ed25519-compact", "fast-socks5", "futures-rustls", "hex", "iprange", "ipnet", "structopt", "structopt-toml", "rand", "rcgen", "rustls-pemfile", "serde", "serde_json", "socket2", "url", "async-runtime", "darkfi-serial", "darkfi-serial/async", "darkfi-serial/url", "system", "util", ] node = [ "bs58", "group", "incrementalmerkletree", "lazy-init", "async-runtime", "blockchain", "crypto", "darkfi-serial", "tx", "wallet", ] raft = [ "chrono", "fxhash", "rand", "sled", "async-runtime", "darkfi-serial", "net", "util", ] rpc = [ "hex", "rand", "serde", "serde_json", "url", "async-runtime", "darkfi-serial", "net", ] system = [ "fxhash", "rand", "async-runtime", ] tx = [ "group", "incrementalmerkletree", "rand", "darkfi-serial", "crypto", ] util = [ "chrono", "dirs", "indicatif", "rand", "simplelog", "serde", "serde_json", "termion", "toml", "url", "darkfi-serial", ] wallet = [ "async-std", "bincode", "bs58", "group", "rand", "sqlx", "incrementalmerkletree", "libsqlite3-sys", "crypto", "darkfi-serial", "util", ] wasm-runtime = [ "wasmer", "wasmer-compiler-singlepass", "wasmer-middlewares", "darkfi-sdk", "node", ] websockets = [ "async-tungstenite", "tungstenite", ] zkas = [ "termion", "indexmap", "itertools", "darkfi-serial", ] # -----END LIBRARY FEATURES----- [[example]] name = "net" path = "example/net.rs" required-features = ["async-runtime", "net"] [[example]] name = "tx" path = "example/tx.rs" required-features = ["node"] [[example]] name = "zk" path = "example/zk.rs" required-features = ["crypto"] [[example]] name = "dao" path = "example/dao/dao.rs" required-features = ["crypto"] [[example]] name = "test" path = "example/derive_macro_example.rs" required-features = ["serial"] [[example]] name = "lead" path = "example/lead.rs" required-features = ["node"] [[example]] name = "crypsinous" path = "example/crypsinous.rs" required-features = ["node"]