Add 10 major features to complete the desktop wallet: - Staking: Stake SYN tokens for rewards with pool management - DEX/Swap: Built-in token swap interface with liquidity pools - Address Book: Save and manage frequently used addresses - DApp Browser: Interact with decentralized applications - Hardware Wallet: Ledger/Trezor support for secure signing - Multi-sig Wallets: Require multiple signatures for transactions - Price Charts: Market data and real-time price tracking - Notifications: Push notifications for transactions and alerts - QR Scanner: Generate and parse payment QR codes - Backup/Export: Encrypted wallet backup and recovery Includes Tauri backend commands for all features, Zustand stores for state management, and complete UI pages with navigation.
79 lines
2.2 KiB
TOML
79 lines
2.2 KiB
TOML
[package]
|
|
name = "synor-wallet"
|
|
version = "0.1.0"
|
|
description = "Secure Synor blockchain wallet with post-quantum cryptography"
|
|
authors = ["Synor Team"]
|
|
edition = "2021"
|
|
license = "MIT"
|
|
|
|
[lib]
|
|
name = "synor_wallet_lib"
|
|
crate-type = ["staticlib", "cdylib", "rlib"]
|
|
|
|
[build-dependencies]
|
|
tauri-build = { version = "2", features = [] }
|
|
|
|
[dependencies]
|
|
tauri = { version = "2", features = ["tray-icon"] }
|
|
tauri-plugin-fs = "2"
|
|
tauri-plugin-store = "2"
|
|
tauri-plugin-shell = "2"
|
|
tauri-plugin-dialog = "2"
|
|
tauri-plugin-clipboard-manager = "2"
|
|
tauri-plugin-updater = "2"
|
|
tauri-plugin-notification = "2"
|
|
tauri-plugin-process = "2"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
tokio = { version = "1", features = ["full"] }
|
|
thiserror = "1"
|
|
|
|
# Cryptography
|
|
bip39 = "2"
|
|
argon2 = "0.5"
|
|
chacha20poly1305 = "0.10"
|
|
rand = "0.8"
|
|
sha2 = "0.10"
|
|
hmac = "0.12"
|
|
hex = "0.4"
|
|
zeroize = { version = "1", features = ["derive"] }
|
|
bech32 = "0.11"
|
|
|
|
# OS Keychain integration (macOS Keychain, Windows Credential Manager, Linux Secret Service)
|
|
keyring = "3"
|
|
|
|
# HTTP client for RPC calls
|
|
reqwest = { version = "0.12", features = ["json"] }
|
|
|
|
# WebSocket client for real-time events
|
|
tokio-tungstenite = { version = "0.24", features = ["native-tls"] }
|
|
futures-util = "0.3"
|
|
|
|
# Logging
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
|
|
|
# Utils
|
|
uuid = { version = "1", features = ["v4"] }
|
|
|
|
# Local crates from the monorepo (required for wallet functionality)
|
|
synor-crypto = { path = "../../../crates/synor-crypto" }
|
|
synor-types = { path = "../../../crates/synor-types" }
|
|
synor-rpc = { path = "../../../crates/synor-rpc" }
|
|
|
|
# Optional: Embedded node support (enables running a full node inside the wallet)
|
|
synord = { path = "../../../apps/synord", optional = true }
|
|
synor-mining = { path = "../../../crates/synor-mining", optional = true }
|
|
synor-network = { path = "../../../crates/synor-network", optional = true }
|
|
|
|
[features]
|
|
default = ["custom-protocol"]
|
|
custom-protocol = ["tauri/custom-protocol"]
|
|
# Enable embedded node support - compiles full node into wallet binary
|
|
embedded-node = ["dep:synord", "dep:synor-mining", "dep:synor-network"]
|
|
|
|
[profile.release]
|
|
lto = true
|
|
opt-level = "z"
|
|
codegen-units = 1
|
|
strip = true
|