Files
featherChat/warzone/crates/warzone-client/Cargo.toml
Siavash Sameni 37a4c3c54f Seed encryption at rest (Argon2id + ChaCha20-Poly1305) + HW wallet plan
keystore.rs:
- Passphrase prompted on init (hidden input, echo disabled)
- Empty passphrase = plaintext (for testing/scripting)
- Encrypted format: MAGIC("WZS1") + salt(16) + nonce(12) + ciphertext(48)
- Argon2id for key derivation (memory-hard, GPU-resistant)
- ChaCha20-Poly1305 AEAD for encryption
- Backwards compatible: auto-detects plaintext vs encrypted on load
- Keys zeroized after use

DESIGN.md:
- Added hardware wallet section (Ledger/Trezor via USB/BT HID)
- Ed25519 signing delegated to device, seed never exported
- BIP44 derivation path m/44'/1234'/0'
- Phase 2 feature, protocol unchanged

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 07:45:55 +04:00

30 lines
696 B
TOML

[package]
name = "warzone-client"
version.workspace = true
edition.workspace = true
[dependencies]
warzone-protocol = { path = "../warzone-protocol" }
tokio.workspace = true
reqwest.workspace = true
sled.workspace = true
clap.workspace = true
ratatui.workspace = true
crossterm.workspace = true
serde.workspace = true
serde_json.workspace = true
tracing.workspace = true
tracing-subscriber.workspace = true
anyhow.workspace = true
argon2.workspace = true
chacha20poly1305.workspace = true
rand.workspace = true
zeroize.workspace = true
hex.workspace = true
base64.workspace = true
x25519-dalek.workspace = true
bincode.workspace = true
libc = "0.2"
uuid.workspace = true
chrono.workspace = true