This repository has been archived by the owner on Oct 31, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 5
/
Cargo.toml
97 lines (81 loc) · 3.16 KB
/
Cargo.toml
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
[workspace]
resolver = "2"
default-members = ["crates/topos", "crates/topos-node"]
members = [
"crates/*"
]
[workspace.package]
version = "0.1.0"
[workspace.lints.rust]
# Deny
missing_docs = "allow"
# Warn
deprecated-in-future = "warn"
[profile.release]
strip = true
[workspace.dependencies]
topos-core = { path = "./crates/topos-core", default-features = false }
topos-crypto = { path = "./crates/topos-crypto", default-features = false }
topos-metrics = { path = "./crates/topos-metrics/", default-features = false }
# Various utility crates
clap = { version = "4.0", features = ["derive", "env", "string"] }
lazy_static = "1"
rand = { version = "0.8", default-features = false }
rand_core = { version = "0.6", default-features = false }
rand_distr = { version = "0.4", default-features = false }
# Async & Tokio related
async-stream = { version = "0.3", default-features = false }
async-trait = { version = "0.1", default-features = false }
futures = { version = "0.3" }
tokio = { version = "1.24", default-features = false }
tokio-util = { version = "0.7.8" }
tokio-stream = { version = "0.1", default-features = false }
tower = "0.4"
# Blockchain
ethereum-types = { version = "0.13.1"}
secp256k1 = {version = "0.27", features = ["recovery"]}
tiny-keccak = {version = "1.5"}
ethers = {version = "2.0.9", features = ["legacy", "abigen-online"]}
# Log, Tracing & telemetry
opentelemetry = { version = "0.22", features = ["metrics"] }
opentelemetry-otlp = { version = "0.15", features = ["grpc-tonic", "metrics", "tls-roots"] }
opentelemetry_sdk = { version = "0.22" }
prometheus = "0.13.3"
prometheus-client = "0.22"
tracing = { version = "0.1", default-features = false }
tracing-attributes = "0.1"
tracing-opentelemetry = "0.23"
tracing-subscriber = { version = "0.3", default-features = false }
# gRPC
prost = {version = "0.12"}
tonic = { version = "0.11", default-features = false }
tonic-build = { version = "0.11", default-features = false, features = [
"prost", "transport"
] }
# Axum server (GraphQL + Metrics)
axum = "0.6"
async-graphql = "6"
async-graphql-axum = "6"
http = "0.2.9"
tower-http = { version = "0.4", features = ["cors"] }
# P2P related
libp2p = { version = "0.53", default-features = false, features = ["noise"]}
# Serialization & Deserialization
bincode = { version = "1.3", default-features = false }
byteorder = { version = "1.4", default-features = false }
bytes = { version = "1.3", default-features = false }
hex = { version = "0.4", default-features = false }
serde = { version = "1.0", default-features = false }
serde_json = { version = "1.0", default-features = false }
thiserror = { version = "1.0", default-features = false }
uuid = { version = "1.1.2", default-features = false, features = ["v4"] }
base64ct = { version = "1", features = ["alloc"] }
# Network related
backoff = { version = "0.4", features = ["tokio", "futures"] }
hyper = { version = "0.14.26", features = ["full"] }
reqwest = { version = "0.11", features = ["json"] }
# Tests
rstest = { version = "0.17.0", default-features = false }
test-log = { version = "0.2", features = ["trace"] }
env_logger = { version = "0.10.0"} # Needed by test-log to print traces in tests
serial_test = {version = "0.9.0"}