mirror of
https://github.com/darkrenaissance/darkfi.git
synced 2026-01-05 04:43:52 -05:00
358 lines
7.9 KiB
TOML
358 lines
7.9 KiB
TOML
[package]
|
|
name = "darkfi"
|
|
version = "0.5.0"
|
|
homepage = "https://dark.fi"
|
|
description = "Anonymous. Uncensored. Sovereign."
|
|
authors = ["Dyne.org foundation <foundation@dyne.org>"]
|
|
repository = "https://codeberg.org/darkrenaissance/darkfi"
|
|
license = "AGPL-3.0-only"
|
|
edition = "2021"
|
|
|
|
[lib]
|
|
name = "darkfi"
|
|
doctest = false
|
|
bench = false
|
|
|
|
[workspace]
|
|
members = [
|
|
"bin/zkas",
|
|
"bin/darkfid",
|
|
"bin/explorer/explorerd",
|
|
"bin/drk",
|
|
"bin/fud/fu",
|
|
"bin/fud/fud",
|
|
"bin/genev/genevd",
|
|
"bin/genev/genev-cli",
|
|
"bin/darkirc",
|
|
"bin/tau/taud",
|
|
"bin/vanityaddr",
|
|
"bin/lilith",
|
|
|
|
"src/sdk",
|
|
"src/sdk/python",
|
|
|
|
"src/serial",
|
|
"src/serial/derive",
|
|
"src/serial/derive-internal",
|
|
|
|
"src/contract/test-harness",
|
|
"src/contract/money",
|
|
"src/contract/dao",
|
|
"src/contract/deployooor",
|
|
|
|
"example/dchat/dchatd",
|
|
]
|
|
|
|
[dependencies]
|
|
# Hard dependencies
|
|
libc = "0.2.178"
|
|
thiserror = "2.0.17"
|
|
tracing = "0.1.44"
|
|
|
|
# async-runtime
|
|
async-trait = {version = "0.1.89", optional = true}
|
|
futures = {version = "0.3.31", optional = true}
|
|
smol = {version = "2.0.2", optional = true}
|
|
pin-project-lite = {version = "0.2.16", optional = true}
|
|
|
|
# Networking
|
|
futures-rustls = {version = "0.26.0", default-features = false, features = ["logging", "tls12", "ring"], optional = true}
|
|
|
|
# Pluggable Transports
|
|
socket2 = {version = "0.6.1", features = ["all"], optional = true}
|
|
arti-client = {version = "0.37.0", default-features = false, features = ["async-std", "compression", "error_detail", "rustls", "onion-service-client", "onion-service-service"], optional = true}
|
|
tor-error = {version = "0.37.0", optional = true}
|
|
tor-rtcompat = {version = "0.37.0", features = ["async-std", "rustls"], optional = true}
|
|
tor-hscrypto = {version = "0.37.0", optional = true}
|
|
tor-hsservice = {version = "0.37.0", optional = true}
|
|
tor-proto = {version = "0.37.0", optional = true}
|
|
tor-cell = {version = "0.37.0", optional = true}
|
|
|
|
# TLS cert utilities
|
|
ed25519-compact = {version = "2.2.0", optional = true}
|
|
rcgen = {version = "0.14.6", optional = true, features = ["pem"]}
|
|
x509-parser = {version = "0.18.0", features = ["validate", "verify"], optional = true}
|
|
|
|
# Encoding
|
|
bs58 = {version = "0.5.1", optional = true}
|
|
hex = {version = "0.4.3", optional = true}
|
|
serde = {version = "1.0.228", features = ["derive"], optional = true}
|
|
tinyjson = {version = "2.5.1", optional = true}
|
|
httparse = {version = "1.10.1", optional = true}
|
|
primitive-types = {version = "0.14.0", optional = true}
|
|
semver = {version = "1.0.27", optional = true}
|
|
structopt = {version= "0.3.26", optional = true}
|
|
structopt-toml = {version= "0.5.1", optional = true}
|
|
toml = {version = "0.9.8", optional = true}
|
|
|
|
# Utilities
|
|
darkfi-serial = {path = "src/serial", optional = true}
|
|
|
|
lazy_static = {version = "1.5.0", optional = true}
|
|
num-bigint = {version = "0.4.6", optional = true}
|
|
url = {version = "2.5.7", features = ["serde"], optional = true}
|
|
|
|
# Misc
|
|
tracing-subscriber = { version = "0.3.22", default-features = false, features = ["fmt"], optional = true }
|
|
tracing-appender = {version = "0.2.4", optional = true }
|
|
nu-ansi-term = {version = "0.50.3", optional = true}
|
|
|
|
# Crypto
|
|
rand = {version = "0.8.5", optional = true}
|
|
blake3 = {version = "1.8.2", features = ["rayon"], optional = true}
|
|
crypto_api_chachapoly = {version = "0.5.0", optional = true}
|
|
halo2_proofs = {version = "0.3.2", features = ["circuit-params"], optional = true}
|
|
halo2_gadgets = {version = "0.4.0", features = ["circuit-params"], optional = true}
|
|
sha2 = {version = "0.10.9", optional = true}
|
|
|
|
# Smart contract runtime
|
|
darkfi-sdk = {path = "src/sdk", optional = true}
|
|
wasmer = {version = "6.1.0", features = ["singlepass"], optional = true}
|
|
wasmer-compiler-singlepass = {version = "6.1.0", optional = true}
|
|
wasmer-middlewares = {version = "6.1.0", optional = true}
|
|
|
|
# Blockchain store
|
|
sled-overlay = {version = "0.1.15", optional = true}
|
|
|
|
# Miner
|
|
randomx = {git = "https://codeberg.org/darkrenaissance/RandomX", rev = "0e31d5a", optional = true}
|
|
monero = {version = "0.21.0", optional = true}
|
|
tiny-keccak = { version = "2.0.2", features = ["keccak"], optional = true }
|
|
|
|
[dev-dependencies]
|
|
clap = {version = "4.4.11", features = ["derive"]}
|
|
halo2_proofs = {version = "0.3.2", features = ["circuit-params", "dev-graph", "sanity-checks"]}
|
|
halo2_gadgets = {version = "0.4.0", features = ["circuit-params", "test-dependencies"]}
|
|
plotters = "0.3.7"
|
|
easy-parallel = "3.3.1"
|
|
prettytable-rs = "0.10.0"
|
|
# Used for benchmarks
|
|
criterion = {version = "0.8.1", features = ["html_reports"]}
|
|
|
|
# -----BEGIN LIBRARY FEATURES-----
|
|
[features]
|
|
async-daemonize = ["system"]
|
|
|
|
async-serial = ["darkfi-serial/async"]
|
|
|
|
async-sdk = [
|
|
"darkfi-sdk/async",
|
|
|
|
"async-serial",
|
|
]
|
|
|
|
blockchain = [
|
|
"sled-overlay",
|
|
"monero",
|
|
"num-bigint",
|
|
"primitive-types",
|
|
"sha2",
|
|
"tiny-keccak",
|
|
|
|
"darkfi-serial/num-bigint",
|
|
"darkfi-serial/sled-overlay",
|
|
|
|
"tx",
|
|
"util",
|
|
]
|
|
|
|
validator = [
|
|
"crypto_api_chachapoly",
|
|
"hex",
|
|
"lazy_static",
|
|
"monero",
|
|
"randomx",
|
|
"smol",
|
|
|
|
"blockchain",
|
|
"system",
|
|
"wasm-runtime",
|
|
]
|
|
|
|
geode = [
|
|
"blake3",
|
|
"bs58",
|
|
"futures",
|
|
"smol",
|
|
]
|
|
|
|
event-graph = [
|
|
"blake3",
|
|
"num-bigint",
|
|
"sled-overlay",
|
|
"smol",
|
|
"tinyjson",
|
|
"bs58",
|
|
|
|
"darkfi-serial",
|
|
"darkfi-serial/collections",
|
|
"darkfi-serial/hash",
|
|
|
|
"rpc",
|
|
]
|
|
|
|
p2p-nym = []
|
|
|
|
p2p-tor = [
|
|
"arti-client",
|
|
"tor-hsservice",
|
|
"tor-hscrypto",
|
|
"tor-error",
|
|
"tor-rtcompat",
|
|
"tor-proto",
|
|
"tor-cell",
|
|
]
|
|
|
|
net-defaults = [
|
|
"async-trait",
|
|
"ed25519-compact",
|
|
"futures",
|
|
"futures-rustls",
|
|
"rcgen",
|
|
"semver",
|
|
"serde",
|
|
"socket2",
|
|
"structopt",
|
|
"structopt-toml",
|
|
"url",
|
|
"x509-parser",
|
|
|
|
"darkfi-serial/url",
|
|
|
|
"async-serial",
|
|
"system",
|
|
"util",
|
|
|
|
"p2p-tor",
|
|
#"p2p-nym",
|
|
"p2p-i2p",
|
|
"p2p-socks5",
|
|
"p2p-unix",
|
|
]
|
|
|
|
p2p-unix = []
|
|
|
|
p2p-socks5 = []
|
|
|
|
p2p-i2p = [
|
|
"p2p-socks5"
|
|
]
|
|
|
|
net = ["net-defaults"]
|
|
|
|
rpc = [
|
|
"async-trait",
|
|
"httparse",
|
|
|
|
"net",
|
|
]
|
|
|
|
system = [
|
|
"futures",
|
|
"pin-project-lite",
|
|
"rand",
|
|
"smol",
|
|
]
|
|
|
|
tx = [
|
|
"blake3",
|
|
|
|
"async-sdk",
|
|
"async-serial",
|
|
"zk",
|
|
]
|
|
|
|
util = [
|
|
"tinyjson",
|
|
"tracing-subscriber",
|
|
"tracing-appender",
|
|
"nu-ansi-term",
|
|
"smol",
|
|
|
|
"darkfi-serial",
|
|
]
|
|
|
|
wasm-runtime = [
|
|
"wasmer",
|
|
"wasmer-compiler-singlepass",
|
|
"wasmer-middlewares",
|
|
|
|
"darkfi-sdk/wasm",
|
|
|
|
"blockchain",
|
|
]
|
|
|
|
zk = [
|
|
"halo2_proofs",
|
|
"halo2_gadgets",
|
|
"rand",
|
|
|
|
"async-sdk",
|
|
"zkas",
|
|
]
|
|
|
|
zkas = [
|
|
"darkfi-serial",
|
|
]
|
|
|
|
dht = [
|
|
"async-sdk",
|
|
"blake3",
|
|
"bs58",
|
|
"futures",
|
|
"num-bigint",
|
|
"serde",
|
|
"structopt",
|
|
"structopt-toml",
|
|
"smol",
|
|
|
|
"darkfi-serial",
|
|
"net",
|
|
]
|
|
# -----END LIBRARY FEATURES-----
|
|
|
|
[patch.crates-io]
|
|
halo2_proofs = {git="https://github.com/parazyd/halo2", branch="v032"}
|
|
halo2_gadgets = {git="https://github.com/parazyd/halo2", branch="v032"}
|
|
# Forked "url" crate with added P2P schemas
|
|
url = {git="https://github.com/darkrenaissance/rust-url", branch="v257"}
|
|
|
|
[[bench]]
|
|
name = "zk_arith"
|
|
harness = false
|
|
path = "bench/zk_arith.rs"
|
|
[[bench]]
|
|
name = "zk_from_json"
|
|
harness = false
|
|
path = "bench/zk_from_json.rs"
|
|
[[bench]]
|
|
name = "sled"
|
|
harness = false
|
|
path = "bench/sled.rs"
|
|
|
|
# Crossbeam SkipMap vs Mutex protected HashMap.
|
|
# Uncomment to enable, and add the following to dev-dependencies:
|
|
# crossbeam-skiplist = "0.1.3"
|
|
# rand = "0.8.5"
|
|
#[[bench]]
|
|
#name = "crossbeam"
|
|
#harness = false
|
|
#path = "bench/crossbeam.rs"
|
|
|
|
# Top-level lints. Enabled optionally on a crate-level in their respective Cargo.toml files.
|
|
[workspace.lints.clippy]
|
|
#arithmetic_side_effects = "warn"
|
|
#eq_op = "warn"
|
|
#float_cmp = "warn"
|
|
# integer_division = "warn"
|
|
#large_futures = "warn"
|
|
#large_stack_arrays = "warn"
|
|
#large_stack_frames = "warn"
|
|
#lossy_float_literal = "warn"
|
|
#manual_slice_size_calculation = "warn"
|
|
#modulo_one = "warn"
|
|
#out_of_bounds_indexing = "warn"
|
|
#overflow_check_conditional = "warn"
|
|
#recursive_format_impl = "warn"
|
|
#unchecked_duration_subtraction = "warn"
|