Files
darkfi/Cargo.toml
2022-01-13 15:42:55 +01:00

216 lines
5.9 KiB
TOML

[package]
name = "darkfi"
version = "0.2.0"
homepage = "https://dark.fi"
description = "Anonymous. Uncensored. Sovereign."
authors = ["darkfi <dev@dark.fi>"]
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-channel = {version = "1.6.1", 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}
bs58 = {version = "0.4.0", optional = true}
toml = {version = "0.5.8", optional = true}
bytes = {version = "1.1.0", optional = true}
serde = {version = "1.0.133", features = ["derive"], optional = true}
serde_json = {version = "1.0.74", optional = true}
bincode = {version = "1.3.3", optional = true}
# Utilities
clap = {version = "3.0.7", features = ["derive"], optional = true}
dirs = {version = "4.0.0", optional = true}
url = {version = "2.2.2", optional = true}
lazy_static = {version = "1.4.0", optional = true}
subtle = {version = "2.4.1", optional = true}
# Misc
num-bigint = {version = "0.4.3", optional = true}
termion = {version = "1.5.6", optional = true}
# Websockets
tungstenite = {version = "0.16.0", optional = true}
async-tungstenite = {version = "0.16.1", optional = true}
# Crypto
blake2b_simd = {version = "1.0.0", optional = true}
pasta_curves = {version = "0.2.1", optional = true}
halo2 = {version = "=0.1.0-beta.1", features = ["dev-graph", "gadget-traces", "sanity-checks"], optional = true}
incrementalmerkletree = {version = "0.2.0", optional = true}
arrayvec = {version = "0.7.2", optional = true}
group = {version = "0.11.0", optional = true}
sha2 = {version = "0.10.1", optional = true}
crypto_api_chachapoly = {version = "0.5.0", optional = true}
# 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 }
# Node networking
zeromq = {version = "0.3.3", default-features = false, features = ["async-std-runtime", "all-transport"], optional = true }
# Node utilities
signal-hook = {version = "0.3.13", optional = true}
signal-hook-async-std = {version = "0.2.2", optional = true}
[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
[dependencies.halo2_gadgets]
git = "https://github.com/parazyd/halo2_gadgets.git"
rev = "b45c527276bb2309f3b256eb5f45ccdcc5bd8c0f"
features = ["dev-graph", "test-dependencies"]
optional = true
[features]
async-runtime = [
"async-std",
"async-channel",
"async-executor",
"async-trait",
"futures",
"smol",
]
async-net = [
"async-native-tls",
"native-tls",
]
websockets = [
"async-tungstenite",
"tungstenite",
]
util = [
"hex",
"bincode",
"serde",
"serde_json",
"dirs",
"num-bigint"
]
rpc = ["async-runtime", "async-net", "util", "websockets", "url"]
chain = ["async-runtime", "rocksdb", "util"]
tui = ["async-std", "termion"]
system = ["async-runtime"]
cli = ["toml", "serde", "clap", "util"]
net = ["async-runtime", "util", "system"]
crypto = ["pasta_curves", "blake2b_simd", "incrementalmerkletree", "halo2", "halo2_gadgets", "subtle", "lazy_static", "group", "util", "arrayvec", "crypto_api_chachapoly", "sha2", "bs58"]
wallet = ["sqlx", "libsqlite3-sys"]
node = ["url", "async-runtime", "bytes", "crypto", "wallet", "chain", "util", "zeromq", "signal-hook", "signal-hook-async-std"]
# [dependencies]
# # Crypto
# pasta_curves = "0.2.1"
# rand = "0.8.4"
# num-bigint = {version = "0.4.3", features = ["rand", "serde"]}
# blake2b_simd = "1.0.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"
# 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.
# ## Used for gatewayd network transport.
# [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"