Files
darkfi/Cargo.toml
aggstam c6fa3ba99b event_graph: introduce layers to the DAG
Each event corresponds to a specific layer(height) in the dag, making identifying and preventing cycles way easier, as all parents must exist in previous layers. Additionally, propagation and sync gremlins have been eliminated, and proper validations added
2023-11-24 15:35:35 +02:00

327 lines
7.1 KiB
TOML

[package]
name = "darkfi"
version = "0.4.1"
homepage = "https://dark.fi"
description = "Anonymous. Uncensored. Sovereign."
authors = ["Dyne.org foundation <foundation@dyne.org>"]
repository = "https://github.com/darkrenaissance/darkfi"
license = "AGPL-3.0-only"
edition = "2021"
[lib]
name = "darkfi"
doctest = false
#[profile.release]
#debug = true
#lto = "fat"
#codegen-units = 1
[workspace]
members = [
"bin/zkas",
#"bin/darkfid",
"bin/darkfid2",
"bin/darkfi-mmproxy",
#"bin/drk",
#"bin/faucetd",
#"bin/fud/fu",
#"bin/fud/fud",
"bin/genev/genevd",
"bin/genev/genev-cli",
"bin/darkirc",
"bin/tau/taud",
#"bin/tau/tau-cli",
"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/consensus",
"src/contract/deployooor",
#"example/dchat",
]
[dependencies]
# Hard dependencies
libc = "0.2.150"
log = "0.4.20"
thiserror = "1.0.50"
# async-runtime
async-recursion = {version = "1.0.5", optional = true}
async-trait = {version = "0.1.74", optional = true}
futures = {version = "0.3.29", optional = true}
smol = {version = "1.3.0", optional = true}
pin-project-lite = {version = "0.2.13", optional = true}
# Networking
async-rustls = {version = "0.4.1", features = ["dangerous_configuration"], optional = true}
# Pluggable Transports
socket2 = {version = "0.5.5", features = ["all"], optional = true}
arti-client = {version = "0.11.0", default-features = false, features = ["async-std", "error_detail", "rustls", "onion-service-client"], optional = true}
tor-error = {version = "0.5.4", optional = true}
tor-rtcompat = {version = "0.9.5", features = ["async-std", "rustls"], optional = true}
tor-hscrypto = {version = "0.3.4", optional = true}
# TLS cert utilities
ed25519-compact = {version = "2.0.4", optional = true}
rcgen = {version = "0.11.3", optional = true}
rustls-pemfile = {version = "2.0.0-alpha.1", optional = true}
x509-parser = {version = "0.15.1", features = ["validate", "verify"], optional = true}
# Encoding
bs58 = {version = "0.5.0", optional = true}
serde = {version = "1.0.192", features = ["derive"], optional = true}
tinyjson = {version = "2.5.1", optional = true}
semver = {version = "1.0.20", optional = true}
structopt = {version= "0.3.26", optional = true}
structopt-toml = {version= "0.5.1", optional = true}
toml = {version = "0.8.8", optional = true}
# Big float high precision arithmetics
dashu = {version = "0.4.0", optional = true}
num-bigint = {version = "0.4.4", optional = true}
# Utilities
# TODO: check chrono usage and impl our own
chrono = {version = "0.4.31", optional = true}
darkfi-serial = {path = "src/serial", optional = true}
darkfi-derive = {path = "src/serial/derive", optional = true}
lazy_static = {version = "1.4.0", optional = true}
url = {version = "2.4.1", features = ["serde"], optional = true}
# Misc
simplelog = {version = "0.12.1", optional = true}
# Crypto
rand = {version = "0.8.5", optional = true}
blake3 = {version = "1.5.0", features = ["rayon"], optional = true}
crypto_api_chachapoly = {version = "0.5.0", optional = true}
halo2_proofs = {version = "0.3.0", features = ["circuit-params"], optional = true}
halo2_gadgets = {version = "0.3.0", features = ["circuit-params"], optional = true}
# Smart contract runtime
darkfi-sdk = {path = "src/sdk", optional = true}
wasmer = {version = "4.2.3", optional = true}
wasmer-compiler-singlepass = {version = "4.2.3", optional = true}
wasmer-middlewares = {version = "4.2.3", optional = true}
# Wallet management
rusqlite = {version = "0.29.0", features = ["sqlcipher"], optional = true}
libsqlite3-sys = {version = "0.26.0", features = ["sqlcipher"], optional = true}
# Blockchain store
sled = {version = "0.34.7", optional = true}
sled-overlay = {version = "0.0.8", optional = true}
# Miner
randomx = {git = "https://github.com/darkrenaissance/RandomX", optional = true}
[dev-dependencies]
clap = {version = "4.4.7", features = ["derive"]}
halo2_proofs = {version = "0.3.0", features = ["dev-graph", "sanity-checks"]}
halo2_gadgets = "0.3.0"
plotters = "0.3.5"
easy-parallel = "3.3.1"
prettytable-rs = "0.10.0"
# -----BEGIN LIBRARY FEATURES-----
[features]
async-daemonize = ["system"]
async-serial = ["darkfi-serial/async"]
async-sdk = [
"darkfi-sdk/async",
"async-serial",
]
blockchain = [
"blake3",
"sled",
"sled-overlay",
"num-bigint",
"async-sdk",
"async-serial",
"tx",
"util",
"zk",
"zkas",
]
validator = [
"async-trait",
"blake3",
"crypto_api_chachapoly",
"dashu",
"halo2_proofs",
"lazy_static",
"num-bigint",
"rand",
"randomx",
"smol",
"sled",
"url",
"async-sdk",
"async-serial",
"blockchain",
"net",
"rpc",
"system",
"tx",
"util",
"wallet",
"wasm-runtime",
"zk",
"zkas",
]
geode = [
"blake3",
"futures",
"smol",
]
event-graph = [
"async-trait",
"async-recursion",
"blake3",
"num-bigint",
"rand",
"sled",
"sled-overlay",
"smol",
"tinyjson",
"darkfi-serial",
"darkfi-serial/collections",
"darkfi-serial/hash",
"net",
"system",
"util",
]
p2p-unix = []
p2p-tcp = ["socket2"]
p2p-tor = ["arti-client", "tor-hscrypto", "tor-error", "tor-rtcompat", "libsqlite3-sys"]
p2p-nym = []
net = [
"async-rustls",
"async-trait",
"ed25519-compact",
"futures",
"rand",
"rcgen",
"rustls-pemfile",
"semver",
"smol",
"serde",
"structopt",
"structopt-toml",
"url",
"x509-parser",
"darkfi-serial",
"darkfi-serial/url",
"async-serial",
"system",
"util",
"p2p-tcp",
"p2p-tor",
#"p2p-nym",
"p2p-unix",
]
rpc = [
"async-trait",
"rand",
"smol",
"tinyjson",
"url",
"net",
"system",
"util",
]
system = [
"pin-project-lite",
"rand",
"smol",
]
tx = [
"blake3",
"rand",
"async-sdk",
"async-serial",
"zk",
]
util = [
"simplelog",
"tinyjson",
"darkfi-serial",
]
wallet = [
"rusqlite",
"smol",
]
wasm-runtime = [
"wasmer",
"wasmer-compiler-singlepass",
"wasmer-middlewares",
"darkfi-sdk",
"darkfi-serial",
"blockchain",
"util",
"zk",
"zkas",
]
zk = [
"halo2_proofs",
"halo2_gadgets",
"rand",
"async-serial",
"async-sdk",
"zkas",
]
zkas = [
"darkfi-serial",
]
# -----END LIBRARY FEATURES-----
[patch.crates-io]
halo2_proofs = {git="https://github.com/parazyd/halo2", branch="v4"}
halo2_gadgets = {git="https://github.com/parazyd/halo2", branch="v4"}
# arti-client = {git="https://gitlab.torproject.org/tpo/core/arti", rev="029eac8fe7f51e5bbaf65d9c8355cd7504668b9a"}
# tor-hscrypto = {git="https://gitlab.torproject.org/tpo/core/arti", rev="029eac8fe7f51e5bbaf65d9c8355cd7504668b9a"}
# tor-error = {git="https://gitlab.torproject.org/tpo/core/arti", rev="029eac8fe7f51e5bbaf65d9c8355cd7504668b9a"}
blake2b_simd = {git="https://github.com/parazyd/blake2_simd", branch="impl-common"}