[package] name = "darkfi" version = "0.2.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" [dependencies] log = "0.4.14" rand = "0.8.4" thiserror = "1.0.30" # async-runtime async-std = {version = "1.10.0", optional = true} async-executor = {version = "1.4.1", optional = true} async-trait = {version = "0.1.52", optional = true} futures = {version = "0.3.19", optional = true} smol = {version = "1.2.5", optional = true} # async-net async-native-tls = {version = "0.4.0", optional = true} native-tls = {version = "0.2.8", optional = true} # Encoding hex = {version = "0.4.3", optional = true} serde = {version = "1.0.133", features = ["derive"], optional = true} serde_json = {version = "1.0.74", optional = true} # Utilities dirs = {version = "4.0.0", optional = true} url = {version = "2.2.2", optional = true} # Misc num-bigint = {version = "0.4.3", optional = true} # Websockets tungstenite = {version = "0.16.0", optional = true} async-tungstenite = {version = "0.16.1", optional = true} # Blockchain [dependencies.rocksdb] # TODO: Revert to upstream after bd966750ec861d687913d59a9939a1408ac53131 is merged. git = "https://github.com/parazyd/rust-rocksdb" rev = "bd966750ec861d687913d59a9939a1408ac53131" default-features = false features = ["zstd"] optional = true [features] async-runtime = ["async-std", "async-executor", "async-trait", "futures", "smol"] async-net = ["async-native-tls", "native-tls"] websockets = ["tungstenite", "async-tungstenite"] util = ["async-runtime", "hex", "serde", "serde_json", "dirs", "num-bigint"] rpc = ["async-net", "util", "websockets", "url"] chain = ["rocksdb", "util"] # [dependencies.halo2_gadgets] # git = "https://github.com/parazyd/halo2_gadgets.git" # rev = "b45c527276bb2309f3b256eb5f45ccdcc5bd8c0f" # features = ["dev-graph", "test-dependencies"] # [dependencies] # # Crypto # halo2 = {version = "=0.1.0-beta.1", features = ["dev-graph", "gadget-traces", "sanity-checks"]} # incrementalmerkletree = "0.2.0" # pasta_curves = "0.2.1" # rand = "0.8.4" # num-bigint = {version = "0.4.3", features = ["rand", "serde"]} # blake2b_simd = "1.0.0" # group = "0.11.0" # crypto_api_chachapoly = "0.5.0" # arrayvec = "0.7.2" # sha2 = "0.9.8" # # Encoding and parsing # bincode = "1.3.3" # bs58 = "0.4.0" # bytes = "1.1.0" # hex = "0.4.3" # toml = "0.5.8" # url = "2.2.2" # serde_json = "1.0.72" # serde = {version = "1.0.130", features = ["derive"]} # # Async # async-std = "1.10.0" # async-trait = "0.1.51" # async-channel = "1.6.1" # native-tls = "0.2.8" # async-native-tls = "0.4.0" # async-executor = "1.4.1" # futures = "0.3.17" # smol = "1.2.5" # # Utilities # anyhow = "1.0.49" # clap = { version = "3.0.0", features = ["derive"] } # dirs = "4.0.0" # failure = "0.1.8" # lazy_static = "1.4.0" # log = "0.4.14" # num_cpus = "1.13.0" # signal-hook = "0.3.10" # simplelog = "0.11.1" # subtle = "2.4.1" # thiserror = "1.0.30" # # Used for Websockets client implementation. # async-tungstenite = "0.16.0" # tungstenite = "0.16.0" # #tui dependencies # crossbeam-channel = { version = "0.5.1", optional = true} # libc = { version = "0.2.112", optional = true} # termion = { version = "1.5.6", optional = true} # # node dependencies # ## Used for wallet management. # sqlx = {version = "0.5.10", features = ["runtime-async-std-native-tls", "sqlite"], optional = true} # libsqlite3-sys = {version = "0.23.1", features = ["bundled-sqlcipher"], optional = true } # ## Used for gatewayd network transport. # zeromq = {version = "0.3.1", default-features = false, features = ["async-std-runtime", "all-transport"], optional = true } # signal-hook-async-std = {version = "0.2.1", optional = true} # [workspace] # members = ["bin/drk", "bin/darkfid", "bin/gateway"] # exclude = ["bin/cashier", "bin/ircd", "bin/map"] # [features] # chain = ["rocksdb"] # node = ["sqlx", "libsqlite3-sys", "zeromq", "signal-hook-async-std"] # tui = ["termion", "libc", "crossbeam-channel"] # [[example]] # name = "net" # path = "example/net.rs" # required-features = ["node", "chain"] # [[example]] # name = "tui" # path = "example/tui_ex.rs" # required-features = ["tui"] # [[example]] # name = "vm" # path = "example/vm.rs" # [[example]] # name = "vm_burn" # path = "example/vm_burn.rs" # [[example]] # name = "tx" # path = "example/tx.rs" # required-features = ["node"] # [[example]] # name = "tree" # path = "example/tree.rs"