Files
darkfi/Cargo.toml
2022-04-23 21:21:18 +02:00

313 lines
6.4 KiB
TOML

[package]
name = "darkfi"
version = "0.3.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"
[profile.release]
debug = true
lto = "fat"
codegen-units = 1
[workspace]
members = [
"bin/zkas",
"bin/cashierd",
"bin/darkfid",
"bin/darkfid2",
"bin/drk",
"bin/faucetd",
"bin/gatewayd",
"bin/ircd",
"bin/dnetview",
"bin/daod",
"bin/dao-cli",
"bin/tau/taud",
"bin/tau/tau-cli",
"bin/vanityaddr",
"src/sdk",
"src/util/derive",
"src/util/derive-internal",
]
[dependencies]
# Hard dependencies
libc = "0.2.124"
log = "0.4.16"
thiserror = "1.0.30"
# async-runtime
smol = {version = "1.2.5", optional = true}
futures = {version = "0.3.21", optional = true}
async-std = {version = "1.11.0", features = ["attributes"], optional = true}
async-trait = {version = "0.1.53", optional = true}
async-channel = {version = "1.6.1", optional = true}
async-executor = {version = "1.4.1", optional = true}
# async-net
async-native-tls = {version = "0.4.0", optional = true}
native-tls = {version = "0.2.10", optional = true}
# Networking
socket2 = {version = "0.4.4", optional = true}
futures-rustls = {version = "0.22.1", features = ["dangerous_configuration"], optional = true}
# TLS cert utilities
ed25519-compact = {version = "1.0.11", features = ["pem"], optional = true}
rcgen = {version = "0.9.2", features = ["pem"], optional = true}
rustls-pemfile = {version = "0.3.0", optional = true}
# Encoding
hex = {version = "0.4.3", optional = true}
bs58 = {version = "0.4.0", optional = true}
toml = {version = "0.5.9", optional = true}
bytes = {version = "1.1.0", optional = true}
bincode = {version = "1.3.3", optional = true}
num-bigint = {version = "0.4.3", optional = true}
serde_json = {version = "1.0.79", optional = true}
serde = {version = "1.0.136", features = ["derive"], optional = true}
# Utilities
url = {version = "2.2.2", features = ["serde"], optional = true}
dirs = {version = "4.0.0", optional = true}
subtle = {version = "2.4.1", optional = true}
lazy_static = {version = "1.4.0", optional = true}
lazy-init = {version = "0.5.0", optional = true}
fxhash = {version = "0.2.1", optional = true}
indexmap = {version = "1.8.1", optional = true}
itertools = {version = "0.10.3", optional = true}
darkfi-derive = {path = "src/util/derive", optional = true}
darkfi-derive-internal = {path = "src/util/derive-internal", optional = true}
chrono = {version = "0.4.19", optional = true}
regex = {version = "1.1.9", optional = true}
# Misc
termion = {version = "1.5.6", optional = true}
simplelog = {version = "0.12.0", optional = true}
# Websockets
tungstenite = {version = "0.17.2", optional = true}
async-tungstenite = {version = "0.17.2", optional = true}
# socks5
fast-socks5 = {git = "https://github.com/ghassmo/fast-socks5", optional = true}
# Crypto
bitvec = {version = "1.0.0", optional = true}
rand = {version = "0.8.5", optional = true}
blake3 = {version = "1.3.1", optional = true}
sha2 = {version = "0.10.2", optional = true}
group = {version = "0.11.0", optional = true}
arrayvec = {version = "0.7.2", optional = true}
blake2b_simd = {version = "1.0.0", optional = true}
pasta_curves = {version = "0.3.0", optional = true}
crypto_api_chachapoly = {version = "0.5.0", optional = true}
incrementalmerkletree = {version = "0.3.0-beta.2", optional = true}
halo2_proofs = {version = "0.1.0-beta.4", features = ["dev-graph", "gadget-traces", "sanity-checks"], optional = true}
halo2_gadgets = {version = "0.1.0-beta.3", features = ["dev-graph", "test-dependencies"], optional = true}
# Smart contract runtime
drk-sdk = {path = "src/sdk", optional = true}
wasmer = {version = "2.2.1", optional = true}
wasmer-compiler-singlepass = {version = "2.2.1", optional = true}
wasmer-middlewares = {version = "2.2.1", optional = true}
# Wallet management
sqlx = {version = "0.5.13", features = ["runtime-async-std-native-tls", "sqlite"], optional = true}
libsqlite3-sys = {version = "0.24.2", features = ["bundled-sqlcipher"], optional = true }
# Blockchain store
sled = {version = "0.34.7", optional = true}
[dev-dependencies]
clap = {version = "3.1.10", features = ["derive"]}
[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",
"toml",
"url",
"simplelog",
"serde_json",
"dirs",
"num-bigint",
"fxhash",
"darkfi-derive",
"darkfi-derive-internal",
]
rpc = [
"rand",
"url",
"fast-socks5",
"async-net",
"async-runtime",
"websockets",
"util",
"net",
]
blockchain = [
"blake3",
"chrono",
"indexmap",
"sled",
"crypto",
"tx",
"net",
"util",
]
system = [
"fxhash",
"rand",
"async-runtime",
]
net = [
"fxhash",
"socket2",
"futures-rustls",
"fast-socks5",
"ed25519-compact",
"rcgen",
"regex",
"rustls-pemfile",
"util",
"system",
]
net2 = [
"fxhash",
"socket2",
"futures-rustls",
"fast-socks5",
"ed25519-compact",
"rcgen",
"regex",
"rustls-pemfile",
"util",
"system",
]
crypto = [
"bitvec",
"blake3",
"rand",
"pasta_curves",
"blake2b_simd",
"incrementalmerkletree",
"halo2_proofs",
"halo2_gadgets",
"subtle",
"lazy_static",
"group",
"arrayvec",
"crypto_api_chachapoly",
"sha2",
"bs58",
"util",
"zkas",
]
wallet = [
"sqlx",
"libsqlite3-sys",
"crypto",
"util",
]
wasm-runtime = [
"drk-sdk",
"wasmer",
"wasmer-compiler-singlepass",
"wasmer-middlewares",
]
node = [
"url",
"bytes",
"lazy-init",
"async-runtime",
"blockchain",
"crypto",
"wallet",
"util",
"net",
]
zkas = [
"termion",
"indexmap",
"itertools",
"util",
]
raft = [
"blake3",
"sled",
"util",
"net",
"rpc",
]
tx = [
"crypto",
"util",
]
[[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"]