-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCargo.toml
More file actions
116 lines (98 loc) · 3 KB
/
Cargo.toml
File metadata and controls
116 lines (98 loc) · 3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
[workspace]
resolver = "2"
members = [
"crates/primitives",
"crates/crypto",
"crates/core",
"crates/storage",
"crates/consensus",
"crates/genesis",
"crates/evm",
"crates/mempool",
"crates/rpc",
"crates/network",
"crates/node",
"crates/keystore",
"crates/cli",
"crates/stark-prover",
"tests/e2e",
"crates/bench",
"tools/load-test",
"tools/stark-bench",
"tools/multi-prover-test",
]
[workspace.package]
version = "0.15.0"
edition = "2021"
license = "MIT"
repository = "https://github.com/LucienSong/shell-chain"
[workspace.dependencies]
# --- primitives ---
alloy-primitives = { version = "1.5", features = ["serde", "rlp"] }
alloy-rlp = { version = "0.3", features = ["derive"] }
sha3 = "0.10"
blake3 = "1"
bech32 = "0.11"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
hex = "0.4"
thiserror = "2"
# --- crypto ---
shell-primitives = { path = "crates/primitives" }
shell-crypto = { path = "crates/crypto" }
shell-core = { path = "crates/core" }
shell-storage = { path = "crates/storage" }
shell-consensus = { path = "crates/consensus" }
pqcrypto-dilithium = "0.5"
pqcrypto-sphincsplus = "0.7"
pqcrypto-traits = "0.3"
zeroize = { version = "1", features = ["derive"] }
# --- keystore ---
argon2 = "0.5"
chacha20poly1305 = "0.10"
rand = "0.9"
# --- consensus ---
async-trait = "0.1"
# --- storage (trie) ---
eth_trie = "0.4"
# --- evm ---
revm = { version = "36", default-features = false, features = ["std", "optional_no_base_fee"] }
# --- rpc ---
jsonrpsee = { version = "0.24", features = ["server", "macros"] }
tokio = { version = "1", features = ["full"] }
parking_lot = "0.12"
tower = { version = "0.4", features = ["limit", "timeout", "buffer"] }
tower-http = { version = "0.5", features = ["cors", "validate-request"] }
http = "1"
futures-util = "0.3"
# --- network (libp2p) ---
libp2p = { version = "0.56", features = ["tcp", "dns", "noise", "yamux", "gossipsub", "mdns", "tokio", "identify", "kad", "macros", "relay", "dcutr", "autonat"] }
# --- storage (rocksdb) ---
rocksdb = { version = "0.22", default-features = false, features = ["snappy", "zstd"] }
# --- tls ---
rustls = { version = "0.23", default-features = false, features = ["std", "ring"] }
rustls-pemfile = "2"
tokio-rustls = { version = "0.26", features = ["ring"] }
# --- cli ---
clap = { version = "4", features = ["derive"] }
toml = "0.8"
ureq = { version = "2", features = ["json"] }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
rpassword = "7"
# --- metrics ---
prometheus = "0.14"
hyper = { version = "1", features = ["server", "http1"] }
hyper-util = { version = "0.1", features = ["tokio"] }
http-body-util = "0.1"
# --- parallel ---
rayon = "1.10"
# --- caching ---
lru = "0.16"
# --- benchmarks ---
criterion = { version = "0.5", features = ["html_reports"] }
# --- stark prover (Phase C) ---
winterfell = "0.13"
[patch.crates-io]
ark-relations = { path = "deps/ark-relations" }
libp2p-yamux = { path = "deps/libp2p-yamux" }