mirror of
https://github.com/darkrenaissance/darkfi.git
synced 2026-01-10 07:08:05 -05:00
265 lines
5.4 KiB
TOML
265 lines
5.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"
|
|
|
|
[workspace]
|
|
members = [
|
|
"bin/zkas",
|
|
"bin/cashierd",
|
|
"bin/darkfid",
|
|
"bin/drk",
|
|
"bin/gatewayd",
|
|
"bin/ircd",
|
|
"bin/map",
|
|
]
|
|
|
|
[dependencies]
|
|
# Hard dependencies
|
|
log = "0.4.14"
|
|
thiserror = "1.0.30"
|
|
|
|
# async-runtime
|
|
smol = {version = "1.2.5", optional = true}
|
|
futures = {version = "0.3.19", optional = true}
|
|
async-std = {version = "1.10.0", optional = true}
|
|
async-trait = {version = "0.1.52", 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.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}
|
|
bincode = {version = "1.3.3", optional = true}
|
|
num-bigint = {version = "0.4.3", optional = true}
|
|
serde_json = {version = "1.0.74", optional = true}
|
|
serde = {version = "1.0.133", features = ["derive"], optional = true}
|
|
|
|
# Utilities
|
|
url = {version = "2.2.2", optional = true}
|
|
dirs = {version = "4.0.0", optional = true}
|
|
subtle = {version = "2.4.1", optional = true}
|
|
lazy_static = {version = "1.4.0", optional = true}
|
|
clap = {version = "3.0.7", features = ["derive"], optional = true}
|
|
indexmap = {version = "1.7.0", optional = true}
|
|
itertools = {version = "0.10.3", optional = true}
|
|
|
|
# Misc
|
|
termion = {version = "1.5.6", optional = true}
|
|
simplelog = {version = "0.11.2", optional = true}
|
|
|
|
# Websockets
|
|
tungstenite = {version = "0.16.0", optional = true}
|
|
async-tungstenite = {version = "0.16.1", optional = true}
|
|
|
|
# Crypto
|
|
bitvec = {version = "1.0.0", optional = true}
|
|
rand = {version = "0.8.4", optional = true}
|
|
sha2 = {version = "0.10.1", 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.2.0", optional = true}
|
|
halo2_proofs = {git = "https://github.com/zcash/halo2", branch = "main", features = ["dev-graph", "gadget-traces", "sanity-checks"], optional = true}
|
|
halo2_gadgets = {git = "https://github.com/zcash/halo2", branch = "main", features = ["dev-graph", "test-dependencies"], 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 utilities
|
|
signal-hook = {version = "0.3.13", optional = true}
|
|
signal-hook-async-std = {version = "0.2.2", optional = true}
|
|
|
|
# Node protocol
|
|
[dependencies.zeromq]
|
|
version = "0.3.3"
|
|
default-features = false
|
|
features = ["async-std-runtime", "all-transport"]
|
|
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
|
|
|
|
|
|
[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 = [
|
|
"rand",
|
|
"url",
|
|
|
|
"async-net",
|
|
"async-runtime",
|
|
"websockets",
|
|
"util",
|
|
]
|
|
|
|
blockchain = [
|
|
"rocksdb",
|
|
|
|
"async-runtime",
|
|
"util",
|
|
]
|
|
|
|
tui = [
|
|
"async-std",
|
|
"termion",
|
|
]
|
|
|
|
system = [
|
|
"rand",
|
|
|
|
"async-runtime",
|
|
]
|
|
|
|
cli = [
|
|
"simplelog",
|
|
"toml",
|
|
"clap",
|
|
|
|
"util",
|
|
]
|
|
|
|
net = [
|
|
"util",
|
|
"system",
|
|
]
|
|
|
|
crypto = [
|
|
"bitvec",
|
|
"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"
|
|
]
|
|
|
|
node = [
|
|
"url",
|
|
"bytes",
|
|
"zeromq",
|
|
"signal-hook",
|
|
"signal-hook-async-std",
|
|
|
|
"async-runtime",
|
|
"blockchain",
|
|
"crypto",
|
|
"wallet",
|
|
"util",
|
|
"net",
|
|
]
|
|
|
|
zkas = [
|
|
"termion",
|
|
"indexmap",
|
|
"itertools",
|
|
|
|
"util",
|
|
]
|
|
|
|
[[example]]
|
|
name = "net"
|
|
path = "example/net.rs"
|
|
required-features = ["async-runtime", "cli", "net"]
|
|
|
|
[[example]]
|
|
name = "tui"
|
|
path = "example/tui_ex.rs"
|
|
required-features = ["async-runtime", "tui"]
|
|
|
|
[[example]]
|
|
name = "tx"
|
|
path = "example/tx.rs"
|
|
required-features = ["node"]
|
|
|
|
[[example]]
|
|
name = "tree"
|
|
path = "example/tree.rs"
|
|
required-features = ["crypto"]
|
|
|
|
# ZK VM Proof examples
|
|
|
|
[[example]]
|
|
name = "arithmetic"
|
|
path = "proof/arithmetic.rs"
|
|
required-features = ["cli", "crypto", "zkas"]
|
|
|
|
[[example]]
|
|
name = "mint"
|
|
path = "proof/mint.rs"
|
|
required-features = ["cli", "crypto", "zkas"]
|
|
|
|
[[example]]
|
|
name = "burn"
|
|
path = "proof/burn.rs"
|
|
required-features = ["cli", "crypto", "zkas"]
|
|
|
|
[[example]]
|
|
name = "dao"
|
|
path = "proof/dao.rs"
|
|
required-features = ["cli", "crypto", "zkas"]
|