-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
77 lines (62 loc) · 2 KB
/
Cargo.toml
File metadata and controls
77 lines (62 loc) · 2 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
[workspace]
members = [".", "crates/pf-query"]
[package]
name = "snbeat"
version = "0.3.0"
edition = "2024"
description = "A TUI block explorer for the Starknet blockchain"
license = "MIT"
repository = "https://github.com/amanusk/snbeat"
homepage = "https://github.com/amanusk/snbeat"
readme = "README.md"
keywords = ["starknet", "blockchain", "tui", "explorer", "terminal"]
categories = ["command-line-utilities"]
exclude = ["screenshots/", ".github/", ".githooks/", ".env.example"]
[dependencies]
# Starknet — Software Mansion's starknet-rust (active development, RPC v0.10 spec)
starknet = { package = "starknet-rust", version = "0.19.0-rc.2" }
# TUI
ratatui = { version = "0.29", features = ["all-widgets"] }
crossterm = { version = "0.28", features = ["event-stream"] }
# Async
tokio = { version = "1", features = ["full"] }
tokio-tungstenite = { version = "0.26", features = ["native-tls"] }
tokio-util = "0.7"
futures = "0.3"
# HTTP — reqwest 0.13 must match starknet-rust's version and enable TLS
# (starknet-rust-providers declares reqwest 0.13 with default-features=false, no TLS)
reqwest = { version = "0.13", features = ["json", "default-tls"] }
# Serialization
serde = { version = "1", features = ["derive"] }
serde_json = "1"
toml = "0.8"
# Config
dotenvy = "0.15"
clap = { version = "4", features = ["derive", "env"] }
# Error handling
thiserror = "2"
anyhow = "1"
# Logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
tracing-appender = "0.2"
# Time
chrono = "0.4"
# Misc
dirs = "6"
url = "2.5"
lru = "0.12"
async-trait = "0.1"
# Local cache (SQLite for persistent storage across restarts)
rusqlite = { version = "0.33", features = ["bundled"] }
r2d2 = "0.8"
r2d2_sqlite = "0.26"
# Pathfinder DB (optional — for direct pathfinder node access)
zstd = { version = "0.13", optional = true }
bincode = { version = "2.0", features = ["serde"], optional = true }
[features]
default = []
pathfinder = ["dep:zstd", "dep:bincode"]
[dev-dependencies]
tokio-test = "0.4"
tempfile = "3"