|
1 | | -[workspace] |
2 | | -resolver = "2" |
3 | | -default-members = ["bitvault-app"] |
4 | | -members = [ |
5 | | - "bitvault-app", # Main egui application |
6 | | -] |
7 | | - |
8 | | -# Workspace-wide settings (shared by all members) |
9 | | -[workspace.package] |
| 1 | +[package] |
| 2 | +name = "bitvault-app" |
10 | 3 | version = "0.1.0" |
11 | 4 | edition = "2021" |
12 | 5 | authors = ["BitVault Team"] |
13 | 6 | repository = "https://github.com/BitVaulty/bitvault-desktop" |
14 | 7 |
|
15 | | -# Shared dependencies across workspace members |
16 | | -[workspace.dependencies] |
17 | | -# Common dependencies |
| 8 | +[lib] |
| 9 | +name = "bitvault_app" |
| 10 | +path = "src/lib.rs" |
| 11 | + |
| 12 | +[features] |
| 13 | +default = ["native"] |
| 14 | +# Native: desktop/mobile with SQLite, HTTP, file system (used by app_state cfg) |
| 15 | +native = [] |
| 16 | + |
| 17 | +[dependencies] |
| 18 | +# GUI |
| 19 | +eframe = "0.27" |
| 20 | +egui = "0.27" |
| 21 | +egui_extras = { version = "0.27", features = ["svg"] } |
| 22 | + |
| 23 | +# SVG icon rendering |
| 24 | +resvg = "0.37" |
| 25 | +usvg = "0.37" |
| 26 | +tiny-skia = "0.11" |
| 27 | +lazy_static = "1.4" |
| 28 | + |
| 29 | +# Bitcoin - Use directly, no wrappers |
| 30 | +bdk = { version = "0.30", features = ["keys-bip39", "sqlite"] } |
| 31 | +bitcoin = "0.32" |
| 32 | +secp256k1 = "0.28" |
| 33 | +bip39 = "2.0" |
| 34 | +rand = "0.8" |
| 35 | + |
| 36 | +# Shared library dependency |
| 37 | +# CI uses git, local dev uses path override via .cargo/config.toml |
| 38 | +bitvault-common = { git = "https://github.com/BitVaulty/bitvault-common.git", branch = "dev", features = ["keyring-storage"] } |
| 39 | + |
| 40 | +# UR/QR |
| 41 | +ur = "0.4.1" |
| 42 | +qrcode = "0.14" |
| 43 | +quircs = "0.10" |
| 44 | +ciborium = "0.2" |
| 45 | +image = "0.25" |
| 46 | +rfd = "0.14" # File dialogs for image selection |
| 47 | +nokhwa = { version = "0.10", features = ["input-native"] } # Camera capture |
| 48 | + |
| 49 | +# Infrastructure |
| 50 | +reqwest = { version = "0.12", features = ["json"] } |
| 51 | +tokio = { version = "1", features = ["full"] } |
| 52 | +rusqlite = { version = "0.31", features = ["bundled"] } |
| 53 | +keyring = "2.0" |
18 | 54 | serde = { version = "1", features = ["derive"] } |
19 | 55 | serde_json = "1" |
20 | 56 | anyhow = "1.0.86" |
| 57 | +thiserror = "1.0" |
| 58 | +base64 = "0.22" |
| 59 | +tracing = "0.1" |
| 60 | +tracing-subscriber = "0.3" |
| 61 | +notify-rust = "4.11" |
| 62 | +chrono = { version = "0.4", features = ["serde"] } |
| 63 | +bs58 = "0.5" |
| 64 | + |
| 65 | +# Logging |
| 66 | +simple_logger = "5.0" |
21 | 67 | log = "0.4" |
22 | 68 |
|
23 | | -# Security-related dependencies |
24 | | -zeroize = "1.7.0" |
25 | | -getrandom = "0.3.2" |
26 | | -aes-gcm = "0.10.3" |
27 | | -rand = "0.9.0" |
28 | | -rand_core = "0.9.3" |
29 | | -argon2 = "0.5.2" |
30 | | -hex = "0.4.3" |
31 | | - |
32 | | -# Bitcoin dependencies (for reference, used in bitvault-app) |
33 | | -bdk = "0.30" |
34 | | -bitcoin = "0.32" |
35 | | -secp256k1 = "0.28" |
| 69 | +# File system |
| 70 | +dirs = "5.0.1" |
| 71 | +toml = "0.8" |
36 | 72 |
|
37 | | -# Error handling |
38 | | -thiserror = "1.0" |
| 73 | +# Platform-specific dependencies |
| 74 | +[target.'cfg(target_os = "windows")'.dependencies] |
| 75 | +windows = { version = "0.52", features = [ |
| 76 | + "Security_Credentials_UI", |
| 77 | + "Foundation", |
| 78 | + "Win32_Graphics_Gdi", |
| 79 | + "Win32_UI_WindowsAndMessaging", |
| 80 | +] } |
| 81 | + |
| 82 | +# macOS dependencies for biometric authentication |
| 83 | +[target.'cfg(target_os = "macos")'.dependencies] |
| 84 | +objc2 = "0.5" |
| 85 | +objc2-foundation = "0.2" |
| 86 | + |
| 87 | +[dev-dependencies] |
| 88 | +# Testing |
| 89 | +tempfile = "3.10" |
| 90 | +tokio-test = "0.4" |
| 91 | +mockito = "1.2" |
0 commit comments